CVE-2026-40176

HIGH

Composer is vulnerable to Command Injection via Malicious Perforce Repository

Title source: cna
STIX 2.1

Exploitation Summary

EIP tracks 4 public exploits for CVE-2026-40176. PoCs published by adminlove520, terminat0r7031, Saku0512.

AI-analyzed exploit summary This repository contains a functional Proof of Concept (PoC) for CVE-2026-40176, an OS Command Injection vulnerability in Composer's Perforce VCS driver. The PoC demonstrates how attacker-controlled input in the `composer.json` file can lead to arbitrary command execution via insufficient sanitization in the `generateP4Command()` method.

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::generateP4Command() method, which constructs shell commands by interpolating user-supplied Perforce connection parameters (port, user, client) without proper escaping. An attacker can inject arbitrary commands through these values in a malicious composer.json declaring a Perforce VCS repository, leading to command execution in the context of the user running Composer, even if Perforce is not installed. VCS repositories are only loaded from the root composer.json or the composer config directory, so this cannot be exploited through composer.json files of packages installed as dependencies. Users are at risk if they run Composer commands on untrusted projects with attacker-supplied composer.json files. This issue has been fixed in Composer 2.2.27 (2.2 LTS) and 2.9.6 (mainline).

Exploits (4)

github WORKING POC 4 stars
by adminlove520 · pythonpoc
https://github.com/adminlove520/CVE-Poc_All_in_One/tree/main/2026/CVE-2026-40176

This repository contains a functional Proof of Concept (PoC) for CVE-2026-40176, an OS Command Injection vulnerability in Composer's Perforce VCS driver. The PoC demonstrates how attacker-controlled input in the `composer.json` file can lead to arbitrary command execution via insufficient sanitization in the `generateP4Command()` method.

Classification
Working Poc 100%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Composer (versions prior to 2.2.27 and 2.9.6)
No auth needed
Prerequisites: Attacker-controlled `composer.json` file · Victim executes `composer install` or `composer update`
devstral-2 · analyzed May 09, 2026 Full analysis →
github WORKING POC 2 stars
by terminat0r7031 · poc
https://github.com/terminat0r7031/composer-CVE-2026-40261-CVE-2026-40176-PoC

This repository contains a functional proof-of-concept exploit for CVE-2026-40176 and CVE-2026-40261, demonstrating command injection vulnerabilities in Composer's Perforce VCS driver via unsanitized 'url' and 'p4user' parameters.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Composer 2.9.3
No auth needed
Prerequisites: Docker · vulnerable Composer version (2.9.3)
devstral-2 · analyzed May 01, 2026 Full analysis →
nomisec WORKING POC 2 stars
by Saku0512 · poc
https://github.com/Saku0512/CVE-2026-40176-poc

This repository contains a functional proof-of-concept exploit for CVE-2026-40176, demonstrating an OS command injection vulnerability in Composer's Perforce VCS driver. The PoC reproduces the vulnerable command generation logic and executes a malicious payload to confirm RCE.

Classification
Working Poc 100%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Composer (versions prior to 2.2.27 and 2.9.6)
No auth needed
Prerequisites: Attacker-controlled composer.json file · Victim executes 'composer install' or 'composer update'
devstral-2 · analyzed Apr 16, 2026 Full analysis →
nomisec WORKING POC
by daptheHuman · poc
https://github.com/daptheHuman/cve-2026-40176-cve-2026-40261

The repository contains a functional proof-of-concept for CVE-2026-40176, demonstrating a command injection vulnerability in Composer's Perforce repository driver. The exploit leverages insufficient input validation in repository URL processing to achieve remote code execution.

Classification
Working Poc 95%
Attack Type
Rce
Complexity
Trivial
Reliability
Reliable
Target: Composer < 2.2.27
No auth needed
Prerequisites: Composer version < 2.2.27 · Ability to modify composer.json with malicious Perforce repository configuration
devstral-2 · analyzed Apr 17, 2026 Full analysis →

References (2)

Core 2
Core References

Scores

CVSS v3 7.8
EPSS 0.0002
EPSS Percentile 5.6%
Attack Vector LOCAL
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H

CISA SSVC

Vulnrichment
Exploitation none
Automatable no
Technical Impact total

Details

CWE
CWE-20 CWE-78
Status published
Products (4)
composer/composer 2.3.0 - 2.9.6Packagist
composer/composer >= 1.0, < 2.2.27
composer/composer >= 2.3, < 2.9.6
getcomposer/composer 1.0.0 - 2.2.26
Published Apr 15, 2026
Tracked Since Apr 16, 2026