Python stringobject.c多个远程溢出漏洞

admin 2022-07-14 15:05:04 CNNVD漏洞 来源:ZONE.CI 全球网 0 阅读模式

漏洞信息详情

Python stringobject.c多个远程溢出漏洞

  • CNNVD编号:CNNVD-200804-302
  • 危害等级: 高危
  • CVE编号: CVE-2008-1887
  • 漏洞类型: 缓冲区错误
  • 发布时间: 2008-04-18
  • 威胁类型: 远程
  • 更新时间: 2022-06-30
  • 厂        商: python_software_foundation
  • 漏洞来源: Justin Ferguson jf...

漏洞简介

Python是一种开放源代码的脚本编程语言。

Python的核心API提供了多个用于分配字符串对象的函数,其中一个API调用允许分配或重新分配PyStringObject,这个函数为PyString_FromStringAndSize(),该函数获取了两个参数,分别为一个指针和一个有符整数。如果指针非空的话,就会将指向该指针的内存重新分配为第二个参数所指定的大小;如果指针为空,就会分配整数所指定的字节数并返回。

在这个操作期间,没有验证第二个参数是否为负数,而该值与PyStringObject的大小相加并用作了分配函数的长度,可能导致错误的内存分配。 PyBytes_FromStringAndSize()和PyUnicode_FromStringAndSize()函数中也可能存在类似的错误。

以下是Python-2.5.2/Objects/stringobject.c文件中的漏洞代码:

52 PyObject *

53 PyString_FromStringAndSize(const char *str, Py_ssize_t size)

54 {

55 register PyStringObject *op;

56 assert(size >= 0);

57 if (size == 0 && (op = nullstring) != NULL) {

[...]

63 }

64 if (size == 1 && str != NULL &&

65 (op = characters[*str & UCHAR_MAX]) != NULL)

66 {

[...]

72 }

73

74 /* Inline PyObject_NewVar */

75 op = (PyStringObject *)PyObject_MALLOC(sizeof(PyStringObject) +

size);

type Py_ssize_t被定义为有符型,在56行的assert()试图确认是否过滤了第二个参数,但在非调试版本中遗漏了assert(),然后在75行将字符串对象的大小参数和字符串对象的大小相加并作为参数传送给了PyObject_MALLOC()。

漏洞公告

目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:

http://svn.python.org/view?rev=62271&view=rev

http://svn.python.org/view?rev=62272&view=rev

参考网址

来源:CMS.zone.ci/e/tags/htag.php?tag=Apple target=_blank class=infotextkey>Apple

链接:http://lists.CMS.zone.ci/e/tags/htag.php?tag=Apple target=_blank class=infotextkey>Apple.com/archives/security-announce/2009/Feb/msg00000.HTML

来源:BUGTRAQ

链接:http://www.securityfocus.com/archive/1/490776

来源:OVAL

链接:https://oval.cisecurity.org/repository/search/definition/oval%3Aorg.mitre.oval%3Adef%3A8624

来源:SECUNIA

链接:http://secunia.com/advisories/29889

来源:SECUNIA

链接:http://secunia.com/advisories/37471

来源:CONFIRM

链接:https://www.vmware.com/security/advisories/VMSA-2009-0016.HTML

来源:DEBIAN

链接:https://www.debian.org/security/2008/dsa-1551

来源:SECUNIA

链接:http://secunia.com/advisories/31365

来源:SECUNIA

链接:http://secunia.com/advisories/30872

来源:SECUNIA

链接:http://secunia.com/advisories/31687

来源:CONFIRM

链接:http://wiki.rpath.com/wiki/Advisories:rPSA-2009-0122

来源:SUSE

链接:http://lists.opensuse.org/opensuse-security-announce/2008-08/msg00006.HTML

来源:SECUNIA

链接:http://secunia.com/advisories/31255

来源:CONFIRM

链接:http://support.CMS.zone.ci/e/tags/htag.php?tag=Apple target=_blank class=infotextkey>Apple.com/kb/HT3438

来源:OVAL

链接:https://oval.cisecurity.org/repository/search/definition/oval%3Aorg.mitre.oval%3Adef%3A10407

来源:DEBIAN

链接:https://www.debian.org/security/2008/dsa-1620

来源:BUGTRAQ

链接:http://www.securityfocus.com/archive/1/506056/100/0/threaded

来源:CONFIRM

链接:http://www.novell.com/support/search.do?cmd=displayKC&docType=kc&externalId=InfoDocument-patchbuilder-readme5032900

来源:BUGTRAQ

链接:http://www.securityfocus.com/archive/1/507985/100/0/threaded

来源:UBUNTU

链接:http://www.ubuntu.com/usn/usn-632-1

来源:SECUNIA

链接:http://secunia.com/advisories/31518

来源:CONFIRM

链接:http://bugs.python.org/issue2587

来源:BID

链接:https://www.securityfocus.com/bid/28749

来源:SECUNIA

链接:http://secunia.com/advisories/33937

来源:GENTOO

链接:http://security.gentoo.org/glsa/glsa-200807-01.xml

来源:VUPEN

链接:http://www.vupen.com/english/advisories/2009/3316

来源:XF

链接:https://exchange.xforce.ibmcloud.com/vulnerabilities/41944

受影响实体

  • Python_software_foundation Python:2.5.2  
  • Python_software_foundation Python:2.5_release_candidate_2  
  • Python_software_foundation Python:2.5_release_candidate_1  
  • Python_software_foundation Python:2.5_final  
  • Python_software_foundation Python:2.5_beta_3  

补丁

    暂无

weinxin
特别声明
本站(ZONE.CI)所有文章仅供技术研究,若将其信息做其他用途,由用户承担全部法律及连带责任,本站不承担任何法律及连带责任,请遵守中华人民共和国安全法.
评论:0   参与:  0