漏洞信息详情
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](http://zone.ci/zone_ci_images/zone.ci.png)
评论