Python stringobject.c多个远程溢出漏洞
所属分类:
网络安全 / 漏洞分析
阅读数:
188
收藏 0赞 0分享
受影响系统:
Python Software Foundation Python <= 2.5.2
描述:
--------------------------------------------------------------------------------
BUGTRAQ ID: 28749
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()。
<*来源:Justin Ferguson (jferguson@ioactive.com)
链接:http://marc.info/?l=bugtraq&m=120794763804162&w=2
http://bugs.python.org/issue2587
*>
建议:
--------------------------------------------------------------------------------
厂商补丁:
Python Software Foundation
--------------------------
目前厂商已经发布了升级补丁以修复这个安全问题,请到厂商的主页下载:
http://svn.python.org/view?rev=62271&view=rev
http://svn.python.org/view?rev=62272&view=rev
OpenBSD处理畸形的IPv6数据多个远程拒绝服务漏洞
受影响系统:
OpenBSD OpenBSD 4.2
OpenBSD OpenBSD 4.1
描述:
OpenBSD是一款开放源代码Unix类操作系统。
OpenBSD处理畸形的IPv6数据时存在漏洞,远程攻击者可能利用此漏洞导致内核忙碌。
收藏 0赞 0分享
PunBB口令重置弱随机数绕过安全限制漏洞
PunBB是一款基于PHP的论坛程序。
PunBB的口令重置功能实现上存在漏洞,远程攻击者可能利用此漏洞在特定条件重置用户的口令。
如果用户忘记了口令的话,可使用PunBB的口令重置功能重置。在请求口令重置后,论坛会向用户发送一封邮件,包含有一个新的随机口令以及激
收藏 0赞 0分享
Apple iPhoto 存在订阅远程格式串处理漏洞
受影响系统:
Apple iPhoto '08 7.1
不受影响系统:
Apple iPhoto 7.1.2
描述:
----------------------------------------------
收藏 0赞 0分享
BBSXP绕过过滤继续注入漏洞分析
漏洞分析:
官方最新过滤函数HTMLEncode,这次过滤了字符* ,再一次绕过过滤注射
Function HTMLEncode(fString)
fString=Replace(fString,CHR(9),"")
fString=Repla
收藏 0赞 0分享
新云CMS Online.asp页面过滤不严导致SQL注入漏洞
受影响系统:
最新版本
漏洞文件:
/inc/online.asp
代码分析如下:
OnlineSQL = "INSERT INTO NC_Online(id,ChannelID,username,identitys,station,ip
收藏 0赞 0分享
CA BrightStor ARCserve Backup 存漏洞
受影响系统:
Computer Associates BrightStor ARCserve Backup 11.5.2.0 (SP2)
描述:
----------------------------------------------------------
收藏 0赞 0分享
查看更多