Vulnerability details

CVE-2026-40261

composer composer

Composer has Command Injection via Malicious Perforce Reference

CVSS 3.1
8.8High

Official description

Composer is a dependency manager for PHP. Versions 1.0 through 2.2.26 and 2.3 through 2.9.5 contain a command injection vulnerability in the Perforce::syncCodeBase() method, which appends the $sourceReference parameter to a shell command without proper escaping, and additionally in the Perforce::generateP4Command() method as in GHSA-wg36-wvj6-r67p / CVE-2026-40176, which interpolates user-supplied Perforce connection parameters (port, user, client) from the source url field without proper escaping. An attacker can inject arbitrary commands through crafted source reference or source url values containing shell metacharacters, even if Perforce is not installed. Unlike CVE-2026-40176, the source reference and url are provided as part of package metadata, meaning any compromised or malicious Composer repository can serve package metadata declaring perforce as a source type with malicious values. This vulnerability is exploitable when installing or updating dependencies from source, including the default behavior when installing dev-prefixed versions. This issue has been fixed in Composer 2.2.27 (2.2 LTS) and 2.9.6 (mainline). If developers are unable to immediately update, they can avoid installing dependencies from source by using --prefer-dist or the preferred-install: dist config setting, and only use trusted Composer repositories as a workaround.

CVSS scores

ScoreVersionSourceVector
8.8High 3.1 CVEProject cvelistV5 (CNA) (GitHub_M) CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
8.8High 3.1 CVEProject cvelistV5 (CNA) (redhat-SADP) CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

Affected products

VendorProductVersionsSource
composer composer >= 1.0.0, < 2.2.27 CVEProject cvelistV5 (CNA)
composer composer >= 2.3.0, < 2.9.6 CVEProject cvelistV5 (CNA)

References and advisories

6
Kolun on Telegram @kolunsec Exploited CVEs, key news and a daily digest Alerts for this product's next CVEsFollow the product to get new vulnerabilities on Telegram.

Details

Published
2026-04-16
Last updated
2026-07-15
State
Published
Assigner (CNA)
GitHub_M

Exploit prediction (EPSS)

1.68%
Probability of exploitation in 30 days
77.1%
Percentile (among all CVEs)

SSVC assessment (CISA)

Automatable
No
Exploitation
None
Technical impact
Total

Weaknesses (CWE)

  • CWE-20
    Improper Input Validation
  • CWE-78
    Improper Neutralization of Special Elements used in an OS Command ('OS Command Injection')