Bug 2291281 (CVE-2024-4577)

Summary: CVE-2024-4577 php: Argument Injection in PHP-CGI
Product: [Other] Security Response Reporter: Mauro Matteo Cascella <mcascell>
Component: vulnerabilityAssignee: Product Security <prodsec-ir-bot>
Status: NEW --- QA Contact:
Severity: urgent Docs Contact:
Priority: urgent    
Version: unspecifiedKeywords: Security
Target Milestone: ---   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: php 8.1.29, php 8.2.20, php 8.3.8 Doc Type: ---
Doc Text:
A flaw was found in PHP versions 8.1 before 8.1.29, 8.2 before 8.2.20, and 8.3 before 8.3.8. When using Apache and PHP-CGI on Windows, if the system is set up to use certain code pages, Windows may use the "Best-Fit" behavior to replace characters in the command line given to Win32 API functions. The PHP CGI module may misinterpret those characters as PHP options that allow a malicious user to pass options to the PHP binary being run, revealing the source code of scripts or running arbitrary PHP code on the server.
Story Points: ---
Clone Of: Environment:
Last Closed: Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 2291283    

Description Mauro Matteo Cascella 2024-06-11 08:09:21 UTC
In PHP versions 8.1 before 8.1.29, 8.2 before 8.2.20, 8.3 before 8.3.8, when using Apache and PHP-CGI on Windows, if the system is set up to use certain code pages, Windows may use "Best-Fit" behavior to replace characters in command line given to Win32 API functions. PHP CGI module may misinterpret those characters as PHP options, which may allow a malicious user to pass options to PHP binary being run, and thus reveal the source code of scripts or run arbitrary PHP code on the server.

References:
https://github.com/php/php-src/security/advisories/GHSA-3qgc-jrrr-25jv
http://www.openwall.com/lists/oss-security/2024/06/07/1
https://arstechnica.com/security/2024/06/php-vulnerability-allows-attackers-to-run-malicious-code-on-windows-servers/
https://labs.watchtowr.com/no-way-php-strikes-again-cve-2024-4577/
https://blog.orange.tw/2024/06/cve-2024-4577-yet-another-php-rce.html
https://cert.be/en/advisory/warning-php-remote-code-execution-patch-immediately
https://devco.re/blog/2024/06/06/security-alert-cve-2024-4577-php-cgi-argument-injection-vulnerability-en/

PHP 8 ChangeLogs:
https://www.php.net/ChangeLog-8.php#8.1.29
https://www.php.net/ChangeLog-8.php#8.2.20
https://www.php.net/ChangeLog-8.php#8.3.8