PHP sqlite_udf_decode_binary()函数缓冲区溢出漏洞

QQ空间 新浪微博 微信 QQ facebook twitter
漏洞ID 1191149 漏洞类型 缓冲区溢出
发布时间 2007-03-31 更新时间 2007-08-02
CVE编号 CVE-2007-1888 CNNVD-ID CNNVD-200704-081
漏洞平台 N/A CVSS评分 7.5
|漏洞来源
http://www.cnnvd.org.cn/web/xxk/ldxqById.tag?CNNVD=CNNVD-200704-081
|漏洞详情
PHP是广泛使用的通用目的脚本语言,特别适合于Web开发,可嵌入到HTML中。PHP的sqlite_udf_decode_binary()函数没有正确地处理对其传送的无效字符串。如果所传送的字符串仅包含有单个\x01字符的话,就会使用空字符串做为参数调用所捆绑sqlite库的sqlite_decode_binary()函数。但API函数并不支持这样的操作,必须使用长度至少为1的字符串调用。intsqlite_decode_binary(constunsignedchar*in,unsignedchar*out){inti,e;unsignedcharc;e=*(in++);i=0;while((c=*(in++))!=0){if(c==1){c=*(in++)-1;}out[i++]=c+e;}returni;}如果使用空字符串调用了sqlite_decode_binary()函数的话,就会跳过ASCIIZ终止符,将之后的字节拷贝到目标,直到遇到另一个ASCIIZ字符。这类似于标准的strcpy()溢出。
|参考资料

来源: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
名称:20070422vendorack/clarificationforCVE-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