CVE-2026-41570PHPUnit: Argument injection via newline in PHP INI values forwarded to child processes
Description
PHPUnit is a testing framework for PHP. In versions 12.5.21 and 13.1.5, PHPUnit forwards PHP INI settings to child processes (used for isolated/PHPT test execution) as -d name=value command-line arguments without neutralizing INI metacharacters. Because PHP's INI parser interprets " as a string delimiter, ; as the start of a comment, and most importantly a newline as a directive separator, a value containing a newline is parsed by the child process as multiple INI directives. An attacker able to influence a single INI value can therefore inject arbitrary additional directives into the child's configuration, including auto_prepend_file, extension, disable_functions, open_basedir, and others. Setting auto_prepend_file to an attacker-controlled path yields remote code execution in the child process. This issue has been patched in versions 12.5.22 and 13.1.6.
Data: CVE.org, NVD, CISA KEV, FIRST EPSS, Ubuntu. Published as the sources state it, in English.
Affected products and versions
| Vendor | Product | Versions | |
|---|---|---|---|
| phpunit project | phpunit | 12.5.21 | |
| sebastianbergmann | phpunit | = 12.5.21, = 13.1.5 |
References and patches
- https://github.com/sebastianbergmann/phpunit/security/advisories/GHSA-qrr6-mg7r-m243 MitigationPatchVendor Advisory
- https://github.com/sebastianbergmann/phpunit/pull/6592 Issue TrackingPatch
CPE matches (NVD) (2)
cpe:2.3:a:phpunit_project:phpunit:12.5.21:*:*:*:*:-:*:*cpe:2.3:a:phpunit_project:phpunit:13.1.5:*:*:*:*:-:*:*