{
  "affected": [
    {
      "ranges": [
        {
          "database_specific": {
            "cpe": [
              "cpe:2.3:a:phpunit_project:phpunit:12.5.21:*:*:*:*:-:*:*",
              "cpe:2.3:a:phpunit_project:phpunit:13.1.5:*:*:*:*:-:*:*"
            ],
            "extracted_events": [
              {
                "introduced": "= 12.5.21"
              },
              {
                "last_affected": "= 12.5.21"
              },
              {
                "introduced": "= 13.1.5"
              },
              {
                "last_affected": "= 13.1.5"
              },
              {
                "introduced": "12.5.21"
              },
              {
                "last_affected": "12.5.21"
              },
              {
                "introduced": "13.1.5"
              },
              {
                "last_affected": "13.1.5"
              }
            ],
            "source": [
              "AFFECTED_FIELD",
              "CPE_STRING"
            ]
          },
          "events": [
            {
              "introduced": "1b7bd4788966bf1533901808657850b6c7876ec7"
            },
            {
              "last_affected": "89adcba73441b38db31d5c0473b61e2907311db0"
            }
          ],
          "repo": "https://github.com/sebastianbergmann/phpunit",
          "type": "GIT"
        }
      ],
      "versions": [
        "12.5.21",
        "13.1.5",
        "= 12.5.21",
        "= 13.1.5"
      ]
    }
  ],
  "aliases": [
    "GHSA-qrr6-mg7r-m243"
  ],
  "database_specific": {
    "cna_assigner": "GitHub_M",
    "cwe_ids": [
      "CWE-88",
      "CWE-93"
    ],
    "osv_generated_from": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/41xxx/CVE-2026-41570.json"
  },
  "details": "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.",
  "id": "CVE-2026-41570",
  "modified": "2026-07-15T01:48:51.041900470Z",
  "published": "2026-05-08T14:33:51.630Z",
  "references": [
    {
      "type": "ADVISORY",
      "url": "https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/41xxx/CVE-2026-41570.json"
    },
    {
      "type": "ADVISORY",
      "url": "https://github.com/sebastianbergmann/phpunit/security/advisories/GHSA-qrr6-mg7r-m243"
    },
    {
      "type": "ADVISORY",
      "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-41570"
    },
    {
      "type": "FIX",
      "url": "https://github.com/sebastianbergmann/phpunit/pull/6592"
    }
  ],
  "schema_version": "1.8.0",
  "severity": [
    {
      "score": "CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H",
      "type": "CVSS_V3"
    }
  ],
  "summary": "PHPUnit: Argument injection via newline in PHP INI values forwarded to child processes"
}