# CVE-2024-4577: PHP-CGI OS Command Injection Vulnerability - Exploited (CISA KEV): yes, added 2024-06-12, known ransomware use - Published: 2024-06-09 - CVSS: 9.8 CRITICAL (v3.1) - EPSS: 100.0% (100th percentile) - CWE: CWE-78 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, run arbitrary PHP code on the server, etc. ## Edge WAF coverage (claimed by vendors, not measured) | Vendor | Status | First rule | Days after publication | |---|---|---|---| | Cloudflare | Before feed history | — | — | | AWS | No public claim | — | — | | Microsoft Azure | No public claim | — | — | | Google Cloud | No public claim | — | — | | Fastly | Before feed history | — | — | | F5 | No public claim | — | — | | Akamai | No public source | — | — | | OWASP CRS | No public claim | — | — | ## Our test (measured) - OWASP Core Rule Set 4.25.0, paranoia level 1, anomaly threshold 5, default CRS settings: blocked (4 of 4 requests blocked), template CVE-2024-4577, 2026-11-02 - OWASP Core Rule Set 4.25.0, paranoia level 2, anomaly threshold 5, default CRS settings: blocked (4 of 4 requests blocked), template CVE-2024-4577, 2026-11-02 "No public claim" means no vendor statement names this CVE; "Before feed history" means the CVE is older than the vendor feed. In both cases generic rules may still block it. HTML: https://cve.vigilbase.com/cve/CVE-2024-4577 · JSON: https://cve.vigilbase.com/api/v1/cves/CVE-2024-4577