Symfony vulnerable to command execution hijack on Windows with Process class
Published 6 Nov 2024 · Updated 10 Sept 2026
Affected packages
- Affected
- <5.4.46
- Fixed in
- 5.4.46
composer require symfony/process:^5.4.46- Affected
- >=6.0.0 <6.4.14
- Fixed in
- 6.4.14
composer require symfony/process:^6.4.14- Affected
- >=7.0.0 <7.1.7
- Fixed in
- 7.1.7
composer require symfony/process:^7.1.7- Affected
- <5.4.46
- Fixed in
- 5.4.46
composer require symfony/symfony:^5.4.46- Affected
- >=6.0.0 <6.4.14
- Fixed in
- 6.4.14
composer require symfony/symfony:^6.4.14- Affected
- >=7.0.0 <7.1.7
- Fixed in
- 7.1.7
composer require symfony/symfony:^7.1.7Details
Description
On Windows, when an executable file named cmd.exe is located in the current working directory it will be called by the Process class when preparing command arguments, leading to possible hijacking.
Resolution
The Process class now uses the absolute path to cmd.exe.
The patch for this issue is available here for branch 5.4.
Credits
We would like to thank Jordi Boggiano for reporting the issue and Nicolas Grekas for providing the fix.
Is GHSA-qq5c-677p-737q in any of your client repos?
Checking one package by hand is fine. Checking it across forty client projects is not. NPMscan reads the lockfiles in every GitHub repo you pick, finds each project with an affected symfony/process, and gives you the command that fixes it.
References
- Linkgithub.com/symfony/symfony/security/advisories/GHSA-qq5c-677p-737q
- Advisorynvd.nist.gov/vuln/detail/CVE-2024-51736
- Linkgithub.com/symfony/symfony/commit/18ecd03eda3917fdf901a48e72518f911c64a1c9
- Linkgithub.com/FriendsOfPHP/security-advisories/blob/master/symfony/process/CVE-2024-51736.yaml
- Linkgithub.com/FriendsOfPHP/security-advisories/blob/master/symfony/symfony/CVE-2024-51736.yaml
- Packagegithub.com/symfony/symfony
- Linksymfony.com/cve-2024-51736
Advisory data from OSV.dev (opens OSV.dev in a new tab), refreshed daily.