PHP 'formatted_print.c'整数溢出漏洞

admin 2022-07-23 07:47:11 CNNVD漏洞 来源:ZONE.CI 全球网 0 阅读模式

漏洞信息详情

PHP 'formatted_print.c'整数溢出漏洞

  • CNNVD编号:CNNVD-200803-449
  • 危害等级: 高危
  • CVE编号: CVE-2008-1384
  • 漏洞类型: 数字错误
  • 发布时间: 2008-03-27
  • 威胁类型: 远程
  • 更新时间: 2009-02-05
  • 厂        商: php
  • 漏洞来源: Maksymilian Arciem...

漏洞简介

PHP是广泛使用的通用目的脚本语言,特别适合于Web开发,可嵌入到HTML中。

PHP formatted_print.c文件的*printf()函数存在整数溢出漏洞,能够执行PHP脚本的攻击者可能利用此漏洞提升权限。

在formatted_print.c文件的php_sprintf_appendstring()函数中:

- ---formatted_print.c-start---

inline static void

php_sprintf_appendstring(char **buffer, int *pos, int *size, char *add,

int min_width, int max_width, char padding,

int alignment, int len, int neg, int expprec, int always_sign)

- ---formatted_print.c-end---

主变量为npad。

- ---formatted_print.c-start---

copy_len = (expprec ? MIN(max_width, len) : len);

npad = min_width - copy_len;

- ---formatted_print.c-end---

这里npad为2147483646。

- ---formatted_print.c-start---

req_size = *pos + MAX(min_width, copy_len) + 1;

- ---formatted_print.c-end---

req_size overflow

- ---formatted_print.c-start---

if (req_size > *size) {

while (req_size > *size) {

*size <<= 1;

}

PRINTF_DEBUG((\"sprintf ereallocing buffer to \\%d bytes\n\", *size));

*buffer = erealloc(*buffer, *size);

}

- ---formatted_print.c-end---

(req_size > *size)为False,(alignment == ALIGN_RIGHT)为True,因此

- ---formatted_print.c-start---

while (npad-- > 0) {

(*buffer)[(*pos)++] = padding;

}

- ---formatted_print.c-end---

gdb调试结果如下:

- --- Debug ---

0x08295ba5 in php_sprintf_appendstring (buffer=0xbfbfd318, pos=0xbfbfd31c,

size=0xbfbfd324, add=0x28f20404 \'\'A\'\' <repeats 200 times>...,

min_width=2147483646, max_width=0, padding=65 \'\'A\'\', alignment=1, len=1,

neg=0, expprec=0, always_sign=0)

...

0x290fff0c: \'\'A\'\' <repeats 200 times>...

0x290fffd4: \'\'A\'\' <repeats 44 times> <Error reading address 0x29100000: Bad \

address>

0x29100000: <Error reading address 0x29100000: Bad address>

- --- Debug ---

脚本会向内存分配大量数据,导致拒绝服务或执行任意指令。

漏洞公告

目前厂商已经发布了升级补丁以修复这个安全问题,补丁下载链接:

http://cvs.php.net/viewvc.cgi/php-src/NEWS?revision=1.2027.2.547.2.1120&view=markup

参考网址

来源: XF

名称: php-phpsprintfappendstring-overflow(41386)

链接:http://xforce.iss.net/xforce/xfdb/41386

来源: UBUNTU

名称: USN-628-1

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

来源: BID

名称: 28392

链接:http://www.securityfocus.com/bid/28392

来源: BUGTRAQ

名称: 20080527 rPSA-2008-0178-1 php php-mysql php-pgsql

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

来源: BUGTRAQ

名称: 20080321 {securityreason.com}PHP 5 *printf() - Integer Overflow

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

来源: MANDRIVA

名称: MDVSA-2009:023

链接:http://www.mandriva.com/security/advisories?name=MDVSA-2009:023

来源: MANDRIVA

名称: MDVSA-2009:022

链接:http://www.mandriva.com/security/advisories?name=MDVSA-2009:022

来源: DEBIAN

名称: DSA-1572

链接:http://www.debian.org/security/2008/dsa-1572

来源: wiki.rpath.com

链接:http://wiki.rpath.com/wiki/Advisories:rPSA-2008-0178

来源: SREASONRES

名称: 20080320 PHP 5.2.5 and prior : *printf() functions Integer Overflow

链接:http://securityreason.com/achievement_securityalert/52

来源: SECUNIA

名称: 31200

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

来源: SECUNIA

名称: 30967

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

来源: SECUNIA

名称: 30411

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

来源: SECUNIA

名称: 30158

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

来源: SUSE

名称: SUSE-SR:2008:014

链接:http://lists.opensuse.org/opensuse-security-announce/2008-07/msg00001.HTML

来源: cvs.php.net

链接:http://cvs.php.net/viewvc.cgi/php-src/NEWS?revision=1.2027.2.547.2.1120&view=markup

来源: issues.rpath.com

链接:https://issues.rpath.com/browse/RPL-2503

来源: BUGTRAQ

名称: 20080523 rPSA-2008-0176-1 php php-cgi php-imap php-mcrypt php-mysql php-mysqli php-pgsql php-soap php-xsl php5 php5-cgi php5-imap php5-mcrypt php5-mysql php5-mysqli php5-pear php5-pgsql php5-soap php5-xsl

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

来源: wiki.rpath.com

链接:http://wiki.rpath.com/wiki/Advisories:rPSA-2008-0176

来源: SECUNIA

名称: 30345

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

受影响实体

  • Php Php:5.2.5  

补丁

    暂无

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