PHP security advisory

proc_open() command injection on Windows

CVE-2024-1874Critical 9.4 Published proc_open() on Windows

Also known as: GHSA-pc52-254m-w9w7

proc_open() with array syntax does not escape arguments sufficiently for cmd.exe, letting an attacker who controls arguments execute arbitrary shell commands on Windows.

Affected versions

BranchAffectedFixed in
PHP 8.3< 8.3.68.3.6
PHP 8.2< 8.2.188.2.18
PHP 8.1< 8.1.288.1.28

Older branches: not assessed

Exploitation conditions

  • Windows only
  • proc_open() with array syntax and attacker-influenced arguments

Remediation

Upgrade to 8.1.28, 8.2.18, 8.3.6 or a later release of your branch. If your branch is end-of-life, move to a supported branch. Distribution packages may carry a backported fix under an older version number; confirm with your vendor's security tracker.

A version number alone cannot prove patch status. Linux distributions and hosting providers often backport security fixes without changing the version. Check your vendor’s changelog.

Severity scores

CVSSSourceVector
9.4 v3.1CNACVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:L

References

Data provenance

Secondary sources · pending primary verification

Last reviewed: Oct 24, 2026 · Source

Notes: The CVE description says "8.3.* before 8.3.5", but 8.3.5 was never released as a stable version; the fix shipped in 8.3.6.