Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAttacker publishes package with rsh: P4PORT in source.url
-
DeliveryVictim adds package from custom Composer repository
-
ExploitVictim runs composer install triggering source download
-
ExecutionComposer\Util\Perforce passes unvalidated URL to p4 binary
-
Persistp4 interprets rsh: prefix as local exec instruction
-
ImpactAttacker-controlled command executes with user or CI account privileges
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization OS command sanitization, avoid shell exec
MITRE ATT&CK
2 techniques across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Exploitation requires three simultaneous conditions: (1) the victim environment must use a custom or private Composer repository, or must process an untrusted |
| Impact | The CVSS 4.0 score of 7.7 (High) with vector AV:N/AC:L/AT:P/PR:N/UI:P accurately reflects the attack prerequisites: |
| Exploit ScenarioDerived | An attacker publishes a malicious package to a private or custom Composer repository, setting |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 01, 2026
Command injection in PHP Composer's Perforce VCS handler allows arbitrary local command execution with the privileges of the developer or CI account running package installation. Affects all Composer releases from 1.0 through 2.2.29 and 2.10.2; the flaw exploits P4PORT's undocumented rsh:/jsh: transport keywords, which instruct the Perforce p4 client to spawn a local child process instead of connecting to a server, allowing attacker-controlled package metadata to trigger OS command execution. No public exploit identified at time of analysis, though the fix commit includes test payloads confirming the mechanism.
RemediationAI
Upgrade to Composer 2.2.30 (LTS branch) or 2.10.3 (current branch), both confirmed patched releases available at https://github.com/composer/composer/releases/tag/2.2.30 and https://github.com/composer/composer/releases/tag/2.10.3. If an immediate upgrade is not feasible, removing the Perforce p4 client from developer workstations and CI runner images eliminates the attack surface entirely, since the vulnerable code path only triggers when p4 is present and invocable. As a defense-in-depth measure, restrict Composer repository sources to Packagist.org only - which prohibits Perforce source metadata - and avoid ingesting untrusted composer.lock files from external sources. Using composer install without --prefer-source (default --prefer-dist) will not trigger the Perforce source path for packages that have a dist artifact available, though this does not fully mitigate the risk for packages that lack dist URLs.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 3 packages in composer, euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Composer's Composer\Util\Perforce class accepted a package's source.url field as a Perforce P4PORT value and passed it directly to the p4 client binary without sanitization (CWE-78: Improper Neutralization of Special Elements used in an OS Command). The Perforce p4 client interprets P4PORT values prefixed with rsh: or jsh: as instructions to exec the remainder of the string as a local child process rather than open a network connection - a legitimate Perforce feature for tunneled connections that becomes an injection vector when the value is attacker-controlled. The fix adds a Perforce::isValidPort() static method using strict regex to reject rsh:/jsh: prefixes and only permit documented [tcp|ssl[4|6|46|64]:][host:]port network endpoint formats, applied at both package-load validation and runtime instantiation. The affected CPE is cpe:2.3:a:composer:composer:*:*:*:*:*:*:*:*, spanning all releases from 1.0 to the patched 2.2.30 and 2.10.3 versions.
Know when Composer gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
AC:H because p4 must be installed and a custom repo or untrusted lock file is required; UI:R because the victim must actively run composer install/update.
AV:L/AC:L/PR:L/UI:R/S:U/C:H/I:H/A:H
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
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.
Technical POC Analysis
Note: the evidence contains no raw patch diff and no PoC source code.
Full technical POC analysis - root cause, step-by-step exploitation and patch breakdown - is part of the Pro and Business plans.
Latest POC
1 PoC candidate from github (unverified)
Sign in to open the public PoC links collected for this CVE.
Executive ViewAI
PHP Composer versions 1.0-2.2.29 and 2.10.2 contain a command injection vulnerability in the Perforce VCS handler that allows arbitrary code execution during package installation with developer and CI account privileges. Organizations with Perforce-dependent packages face supply chain compromise and CI/CD pipeline exploitation risks.
Discontinue or migrate Perforce VCS dependencies to alternative version control systems (Git, SVN, Mercurial); configure Composer policies to reject Perforce repository URLs. Execute CI/CD pipelines in sandboxed environments with restrictive IAM roles and no access to production infrastructure. Audit and lock Composer dependencies to known-safe versions; restrict package installation to internal mirrors with pre-vetted packages only.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
OS command injection occurs when an application passes unsanitized user input directly into system shell commands.
Composer is a dependency manager for PHP. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable, lo
The tagDiv Composer WordPress plugin before 4.0 does not sanitise and escape a parameter before outputting it back in th
Composer is an open source dependency manager for the PHP language. Rated critical severity (CVSS 9.8), this vulnerabili
Composer is a dependency manager for PHP. Rated high severity (CVSS 8.8), this vulnerability is remotely exploitable, lo
Composer is a dependency manager for the PHP programming language. Rated high severity (CVSS 8.8), this vulnerability is
Arbitrary code execution in MosaicML Composer arises when the library loads a model or resumption checkpoint, because ch
Arbitrary file write in Composer (the PHP dependency manager) before 2.2.29 and 2.10.2 allows a malicious package served
The tagDiv Composer plugin for WordPress is vulnerable to Stored Cross-Site Scripting via multiple shortcodes in all ver
Path traversal in Composer's binary installation flow allows a malicious PHP package to cause arbitrary host files to be
Improper input validation in the Drupal Composer contributed module (SA-contrib-2026-046) exposes sites to confidentiali
Path traversal in MosaicML Composer 0.32.1 and earlier allows an attacker who supplies a crafted checkpoint archive to w
Credential leakage in Composer PHP dependency manager exposes sensitive tokens - such as GitHub Personal Access Tokens e
Same weakness CWE-78 – OS Command Injection
View allSame technique Command Injection
View allVendor StatusVendor
SUSE
Severity: Important| Product | Status |
|---|---|
| SUSE Linux Enterprise Module for Web and Scripting 15 SP7 | Affected |
| SUSE Linux Enterprise Server 15 SP7 | Affected |
| SUSE Linux Enterprise Server 16.0 | Affected |
| SUSE Linux Enterprise Server 16.1 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP7 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Affected |
| SUSE Linux Enterprise Server for SAP applications 16.1 | Affected |
| openSUSE Leap 16.0 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Module for Web and Scripting 15 SP4 | Affected |
| SUSE Linux Enterprise Module for Web and Scripting 15 SP5 | Affected |
| SUSE Linux Enterprise Module for Web and Scripting 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP4 | Affected |
| SUSE Linux Enterprise Server 15 SP4-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP5 | Affected |
| SUSE Linux Enterprise Server 15 SP5-LTSS | Affected |
| SUSE Linux Enterprise Server 15 SP6 | Affected |
| SUSE Linux Enterprise Server 15 SP6-LTSS | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP4 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP5 | Affected |
| SUSE Linux Enterprise Server for SAP Applications 15 SP6 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4 | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP4-ESPOS | Affected |
| SUSE Linux Enterprise High Performance Computing 15 SP5-ESPOS | Affected |
| SUSE Manager Proxy 4.3 | Affected |
| SUSE Manager Retail Branch Server 4.3 | Affected |
| SUSE Manager Server 4.3 | Affected |
| SUSE Manager Server LTS 4.3 | Affected |
| openSUSE Leap 15.4 | Affected |
| openSUSE Leap 15.5 | Affected |
| openSUSE Leap 15.6 | Affected |
EUVD-2026-69608
GHSA-rvx4-ffvw-m9q3
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB