High severity · published Sep 1, 2026
CVE-2026-84361
Composer: Perforce source URL permits P4PORT `rsh:` command execution
7.7
CVSS
0.5%
EPSS
No
On KEV
Description
Composer is a dependency Manager for the PHP language. From 1.0 until 2.2.30 and 2.10.3, a malicious dependency package from a custom Composer repository or an untrusted composer.lock file could set source.type to perforce and source.url to an rsh: or jsh: P4PORT value. When the Perforce p4 client was installed and Composer installed the package from source through composer install or composer update, including --prefer-source, Composer\Util\Perforce passed the address to p4 without validation, causing p4 to run a local command with the privileges of the user or CI account. Packagist.org does not permit Perforce source metadata. This issue is fixed in versions 2.2.30 and 2.10.3.
Exploitation
Is it being used?
Exploit prediction (EPSS)0.5% · higher than 43% of CVEs
Exploited in the wildNo evidence yet
CISA KEVNot listed
Ransomware campaign useNot known
Affected products
Which versions
CO
composer · composer
>= 1.0, < 2.2.30; >= 2.3.0, < 2.10.3 · source: vendor
References
NVD
https://nvd.nist.gov/vuln/detail/CVE-2026-84361
CVE.org
https://www.cve.org/CVERecord?id=CVE-2026-84361
github.com
https://github.com/composer/composer/commit/0aac50528e83ed635cf788333635897469440220
github.com
https://github.com/composer/composer/commit/199ad81a9cc6a2a5164ad79a8da26b2e19e521af
github.com
https://github.com/composer/composer/releases/tag/2.10.3
github.com
https://github.com/composer/composer/releases/tag/2.2.30
github.com
https://github.com/composer/composer/security/advisories/GHSA-rvx4-ffvw-m9q3
More from composer
8.8
CVE-2026-40261
Composer has Command Injection via Malicious Perforce Reference
7.8
CVE-2026-40176
Composer is vulnerable to Command Injection via Malicious Perforce Repository
7.5
CVE-2026-45793
Composer: Github Actions issued GITHUB_TOKEN disclosure in GitHub Actions logs
7.0
CVE-2026-59948
Composer: Arbitrary file write outside vendor via malicious transitive package name
6.1
CVE-2026-59944
Composer: CVE-2026-59946 fix bypass via symlinked package bin path
