PHP unpack()函数中断处理信息泄露漏洞

- AV AC AU C I A
发布: 2025-04-13
修订: 2025-04-13

CVE ID: CVE-2010-2191 PHP是广泛使用的通用目的脚本语言,特别适合于Web开发,可嵌入到HTML中。 PHP的unpack()函数中存在信息泄露漏洞: { char *format, *input, *formatarg, *inputarg; int formatlen, formatarg_len, inputarg_len; int inputpos, inputlen, i; if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ss", &formatarg, &formatarg_len, &inputarg, &inputarg_len) == FAILURE) { return; } format = formatarg; formatlen = formatarg_len; input = inputarg; 该函数开始时将两个用户所提供参数读取到了本地变量,然后解析所提供的格式串。由于call time pass by reference功能,函数中间的中断允许使用其他变量类型替换输入字符串,导致泄漏哈希表内容。可通过提供无效的定位命令来触发中断。 case '@': if (arg <= inputlen) { inputpos = arg; } else { php_error_docref(NULL TSRMLS_CC, E_WARNING, "Type %c: outside of string", type); } i = arg - 1; /* Done, break out of for loop */ break; 错误处理器可以更改第二个参数的内容。 PHP PHP <= 5.3.2 PHP PHP <= 5.2.13 厂商补丁: PHP --- 目前厂商还没有提供补丁或者升级程序,我们建议使用此软件的用户随时关注厂商的主页以获取最新版本: http://www.php.net

0%
暂无可用Exp或PoC
当前有0条受影响产品信息