Php max_input_vars任意代码执行漏洞

漏洞起因
设计错误
危险等级

影响系统
PHP 5.3.9及其他版本

不受影响系统

危害
远程攻击者可以利用漏洞以应用服务程序上下文执行任意代码。

攻击所需条件
攻击者必须访问PHP应用。

漏洞信息
Php是一款流行的编程语言。
PHP在12月为哈希碰撞拒绝服务(CVE-2011-4885)提供的补丁引出了另一个严重的安全漏洞。
防止哈希碰撞的补丁在php.ini中引入了新的配置属性:
max_input_vars
此配置元素限制用于请求中使用的变量数量(如http://request.com/foo.php?a=1&b=2&c=3),默认设置为1000。
漏洞修补在php_variables.c代码中的php_register_variable_ex函数中作了更改,不过当变量数超过max_input_vars,而变量又是数组变量时(if (*p == ‘[‘))可触发此漏洞。漏洞可导致任意代码执行。

测试方法

厂商解决方案
用户可参考如下供应商提供的安全补丁修复此漏洞:
http://svn.php.net/viewvc/php/php-src/trunk/main/php_variables.c?view=markup&pathrev=323007

漏洞提供者
Stefan Esser

评论关闭。