What’s Vulnerable › Vulnerabilities
CVE-2026-59948: Composer: Arbitrary file write outside vendor via malicious transitive package name
- Severity: high (CVSS 7.0 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.1% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2026-07-08 · updated 2026-07-10
- Weakness: CWE-22
Description
Composer is a dependency Manager for the PHP language. Prior to 2.2.29 and 2.10.2, a maliciously crafted package from an untrusted repository other than Packagist.org or Private Packagist can cause Composer to write attacker-controlled files outside the vendor directory and outside the project during install or update by using an invalid package name that is not correctly validated before dependency-resolution results are written or installed. This issue is fixed in versions 2.2.29 and 2.10.2.
Affected products
- Packagist Composer/Composer: from 2.3.0 before 2.10.2; from 1.0.0 before 2.2.29; 2.10.0, 2.10.0-RC1, 2.10.0-RC2, 2.10.1, 2.3.0, 2.3.1 (+213) — fixed in 2.10.2, 2.2.29
- composer: from 1.0, < 2.2.29; from 2.3.0, < 2.10.2
How to fix
Upgrade to a fixed version: Packagist Composer/Composer 2.10.2, 2.2.29. Check the vendor advisory for mitigations.
References
- https://github.com/composer/composer/commit/502c6c4f699802d9cf464728b3e8a95674f919a0
- https://github.com/composer/composer/commit/c50b1efd13ebd73f6dca19b31424c5a02bf93cc1
- https://github.com/composer/composer/releases/tag/2.10.2
- https://github.com/composer/composer/releases/tag/2.2.29
- https://github.com/composer/composer/security/advisories/GHSA-499r-g7pc-vmp9
Get alerted when CVE-2026-59948 or the next vulnerability affects your stack