High

Missing input validation can lead to command execution in composer

  • Disclosed: 22.04.2022
  • Updated: 11.10.2026 10:22

The Composer method VcsDriver::getFileContent() with user-controlled $file or $identifier arguments is susceptible to an argument injection vulnerability. It can be leveraged to gain arbitrary command execution if the Mercurial or the Git driver are used.

This led to a vulnerability on Packagist.org and Private Packagist, i.e., using the composer.json readme field as a vector for injecting parameters into the $file argument for the Mercurial driver or via the $identifier argument for the Git and Mercurial drivers.

Composer itself can be attacked through branch names by anyone controlling a Git or Mercurial repository, which is explicitly listed by URL in a project's composer.json.

To the best of our knowledge, this was not actively exploited. The vulnerability has been patched on Packagist.org and Private Packagist within a day of the vulnerability report.

Affected software

Click a technology to see all vulnerabilities affecting it.

PlatformPackageVulnerable versionsFixed in
Composer package composer/composer < 1.10.26, >= 2.0, < 2.2.12, >= 2.3, < 2.3.5 1.10.26, 2.2.12, 2.3.5

References

CVSS score 8.3/10
CVSS vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H
Weakness (CWE)
CWE-20, CWE-88, CWE-94
Platform
Composer
Package
composer/composer
Disclosed
22.04.2022
Updated
11.10.2026 10:22

Sources and licenses

OSV / GitHub Advisory Database - GHSA-x7cr-6qr6-2hh6 - CC BY 4.0

Vulnerability history: composer/composer

All published vulnerabilities of this package (Composer package), newest first. Shows whether this is a one-off slip or a package that needs watching.

All (17) in the archive
Total entries
17
First → latest
04.2021 10.2026
Without a fix
0
Exploited in attacks
0

Severity breakdown

  • High 13
  • Medium 3
  • Low 1

Disclosures per year

  1. 2021: 2
  2. 2022: 1
  3. 2023: 2
  4. 2024: 3
  5. 2025: 1
  6. 2026: 8
Severity:
  1. High CVE-2026-84361 >= 2.3.0, < 2.10.3, >= 1.0, < 2.2.30 2.10.3, 2.2.30
  2. High · 7.0 CVE-2026-59948 >= 2.3.0, < 2.10.2, >= 1.0.0, < 2.2.29 2.10.2, 2.2.29
  3. High · 7.5 CVE-2026-45793 >= 2.3.0, < 2.9.8, >= 2.0.0, < 2.2.28, >= 1.0, < 1.10.28 2.9.8, 2.2.28, 1.10.28
  4. High · 7.8 CVE-2026-40176 >= 2.3.0, < 2.9.6, >= 1.0.0, < 2.2.27 2.9.6, 2.2.27
  5. High · 8.8 CVE-2026-40261 >= 2.3.0, < 2.9.6, >= 1.0.0, < 2.2.27 2.9.6, 2.2.27
  6. High · 8.8 CVE-2024-35241 >= 2.0, < 2.2.24, >= 2.3, < 2.7.7 2.2.24, 2.7.7
  7. High · 8.8 CVE-2024-35242 >= 2.0, < 2.2.24, >= 2.3, < 2.7.7 2.2.24, 2.7.7
  8. High · 8.8 CVE-2024-24821 >= 2.0.0-alpha1, < 2.2.23, >= 2.3.0-rc1, < 2.7.0 2.2.23, 2.7.0
  9. High · 8.8 CVE-2023-43655 < 1.10.27, >= 2.0.0, < 2.2.22, >= 2.3.0, < 2.6.4 1.10.27, 2.2.22, 2.6.4
  10. Missing input validation can lead to command execution in composer this entry
    High · 8.3 CVE-2022-24828 < 1.10.26, >= 2.0, < 2.2.12, >= 2.3, < 2.3.5 1.10.26, 2.2.12, 2.3.5
  11. High · 8.2 CVE-2021-41116 < 1.10.23, >= 2.0.0-alpha1, < 2.1.9 1.10.23, 2.1.9

Know which vulnerabilities affect your application

With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.

Connect your application
DockRay newsletter

Application security in your inbox

Important vulnerabilities, actionable guidance and practical advice for your applications. Choose your technologies and follow what matters to your project.

  • A daily digest of new vulnerabilities, critical ones included.
  • Notifications about important updates.
  • Practical advice on application security and monitoring.

Leave empty to receive updates for every technology.

Free to subscribe. Unsubscribe with one click in any email.