Exceeding max nesting level doesn't delete numerical vars
| Bug #61000 | Exceeding max nesting level doesn't delete numerical vars | ||||
|---|---|---|---|---|---|
| Submitted: | 2012-02-07 09:45 UTC | Modified: | 2012-03-02 03:18 UTC | ||
| From: | cataphract@php.net | Assigned: | laruence (profile) | ||
| Status: | Closed | Package: | Scripting Engine problem | ||
| PHP Version: | trunk-SVN-2012-02-07 (snap) | OS: | Irrelevant | ||
| Private report: | No | CVE-ID: | None | ||
[2012-02-07 09:45 UTC] cataphract@php.net
Description: ------------ Exceeding the max nesting level doesn't delete numerical vars, while it deletes the non-numerical ones. php_register_variable_ex inappropriately uses zend_hash_del. (Found out by Stefan Esser, who points this can be used, together with max_input_vars, to determine whether PHP is a 32-bit or 64-bit process) Test script: --------------- With max nesting level=2: http://nebm.ist.utl.pt/phpinfo?1[a][]=foo&1[a][b][c]=bar Expected result: ---------------- _GET is empty Actual result: -------------- _GET["1"] = Array ( [a] => Array ( [0] => foo ) )
Patches
bug61000.patch (last revision 2012-02-08 06:08 UTC by laruence@php.net)Pull Requests
History
AllCommentsChangesGit/SVN commits
[2012-02-08 06:10 UTC] laruence@php.net
[2012-02-08 14:10 UTC] laruence@php.net