漏洞信息详情
PHP sqlite_udf_decode_binary()函数缓冲区溢出漏洞
漏洞简介
PHP是广泛使用的通用目的脚本语言,特别适合于Web开发,可嵌入到HTML中。
PHP的sqlite_udf_decode_binary()函数没有正确地处理对其传送的无效字符串。如果所传送的字符串仅包含有单个\x01字符的话,就会使用空字符串做为参数调用所捆绑sqlite库的sqlite_decode_binary()函数。但API函数并不支持这样的操作,必须使用长度至少为1的字符串调用。
int sqlite_decode_binary(const unsigned char *in, unsigned char *out){
int i, e;
unsigned char c;
e = *(in++);
i = 0;
while( (c = *(in++))!=0 ){
if( c==1 ){
c = *(in++) - 1;
}
out[i++] = c + e;
}
return i;
}
如果使用空字符串调用了sqlite_decode_binary()函数的话,就会跳过ASCIIZ终止符,将之后的字节拷贝到目标,直到遇到另一个ASCIIZ字符。这类似于标准的strcpy()溢出。
漏洞公告
目前厂商已经发布了升级补丁以修复这个安全问题,补丁下载链接:
http://www.php.net
参考网址
来源: MISC
链接:http://www.php-security.org/MOPB/MOPB-41-2007.html
来源: UBUNTU
名称: USN-455-1
链接:http://www.ubuntu.com/usn/usn-455-1
来源: MISC
链接:http://www.sqlite.org/cvstrac/rlog?f=sqlite/src/encode.c
来源: VIM
名称: 20070422 vendor ack/clarification for CVE-2007-1888 (SQLite)
链接:http://www.attrition.org/pipermail/vim/2007-April/001540.html
来源: SECUNIA
名称: 25057
链接:http://secunia.com/advisories/25057
来源: OSVDB
名称: 39177
链接:http://osvdb.org/39177
来源: MANDRIVA
名称: MDKSA-2007:091
链接:http://frontal2.mandriva.com/security/advisories?name=MDKSA-2007:091
来源: MANDRIVA
名称: MDKSA-2007:091
链接:http://www.mandriva.com/security/advisories?name=MDKSA-2007:091
受影响实体
- Php Php:5.2.1<!--2000-1-1-->
- Php Php:5.4.0<!--2000-1-1-->
- Php Php:5.2.0<!--2000-1-1-->
- Php Php:5.1.6<!--2000-1-1-->
- Php Php:5.1.5<!--2000-1-1-->
补丁
暂无
还没有评论,来说两句吧...