CVE-2026-41570 PUBLISHED

PHPUnit: Argument injection via newline in PHP INI values forwarded to child processes

Assigner: GitHub_M
Reserved: 21.04.2026 Published: 08.05.2026 Updated: 08.05.2026

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.

Metrics

CVSS Vector: CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
CVSS Score: 7.8

Product Status

Vendor sebastianbergmann
Product phpunit
Versions
  • Version = 12.5.21 is affected
  • Version = 13.1.5 is affected

References

Problem Types

  • CWE-93: Improper Neutralization of CRLF Sequences ('CRLF Injection') CWE
  • CWE-88: Improper Neutralization of Argument Delimiters in a Command ('Argument Injection') CWE