BitPage

🔍 #Security

Clear filter

PHP2Shell on PHP 7: patch applied is not patch compiled is not patch working

The official 7.4 backport is one commit, 17 files, +240/-59. For 7.1 to 7.3 the sury patch sets need a prerequisite that patch --dry-run cannot see: ZSTR_MAX_LEN, which the fix references 38 times and which is absent from every vanilla PHP 7.3 and older. Three layers of verification, and the one static marker that works on 7.x.

PHP2Shell on a mixed fleet: auditing 5.6 to 8.4 and proving each build is actually patched

The fixed releases 8.2.35, 8.3.36, 8.4.27 and 8.5.12 add one new INI directive, memory_hard_limit_percent, and that is the only static proof a supported build carries the PHP2Shell fix. On 5.6 through 8.1 neither php -v nor php -i changes at all, so the proof is behavioural: an OOM exits 1 with shutdown functions skipped instead of 255 with them running.