CVE-2023-3824
Published: 11 August 2023
Summary
CVE-2023-3824 is a critical-severity Improper Restriction of Operations within the Bounds of a Memory Buffer (CWE-119) vulnerability in Php Php. Its CVSS base score is 9.4 (Critical).
Operationally, ranked in the top 3.1% of CVEs by exploit likelihood; it is not currently listed in the CISA KEV catalog; a public proof-of-concept is referenced.
Deeper analysis
CVE-2023-3824 is a stack buffer overflow vulnerability in PHP versions 8.0.* before 8.0.30, 8.1.* before 8.1.22, and 8.2.* before 8.2.8. It occurs when loading a phar file and reading PHAR directory entries due to insufficient length checking, which can result in memory corruption or remote code execution. The flaw is tracked under CWE-119 and carries a CVSS 3.1 score of 9.4 reflecting network-accessible attack vectors with high impact on confidentiality and integrity.
An unauthenticated attacker can trigger the issue by supplying a malicious phar archive that a vulnerable PHP application loads, enabling memory corruption or arbitrary code execution on the affected system without requiring user interaction.
Advisories from the PHP project, Debian, Fedora, and NetApp recommend upgrading to the fixed releases 8.0.30, 8.1.22, or 8.2.8. The associated EPSS score has remained in the 0.32–0.35 range since disclosure.
EU & UK References
- 🇪🇺 ENISA EUVD: EUVD-2023-44452
Vulnerability details
In PHP version 8.0.* before 8.0.30, 8.1.* before 8.1.22, and 8.2.* before 8.2.8, when loading phar file, while reading PHAR directory entries, insufficient length checking may lead to a stack buffer overflow, leading potentially to memory corruption or RCE.
- CWE(s)
Related Threats
No named actor attribution yet. ATT&CK technique mapping in progress for this CVE.
Affected Assets
Mitigating Controls
Likely Mitigating Controls AI
Per-CVE control mapping for this CVE has not run yet; the list below is derived from the weakness types (CWEs) cited in the NVD entry.
Ongoing control assessments and code testing (static/dynamic analysis, fuzzing) surface memory buffer restriction failures, which are then remediated before release.
Managed runtimes used by platform-independent applications (e.g., JVM, CLR) enforce memory safety, preventing most buffer overflows that require direct memory manipulation.
Memory protections (e.g., W^X, ASLR) make exploitation of buffer-boundary violations far harder to turn into code execution.
Detects exploitation attempts that produce memory corruption, crashes, or anomalous behavior.