{"id":"GHSA-x7cr-6qr6-2hh6","summary":"Missing input validation can lead to command execution in composer","details":"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.\n\nThis 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.\n\nComposer 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.\n\nTo 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.","aliases":["BIT-composer-2022-24828","CVE-2022-24828"],"modified":"2024-02-21T05:32:42.447669Z","published":"2022-04-22T20:15:38Z","database_specific":{"cwe_ids":["CWE-20","CWE-88","CWE-94"],"severity":"HIGH","github_reviewed":true,"github_reviewed_at":"2022-04-22T20:15:38Z","nvd_published_at":"2022-04-13T21:15:00Z"},"references":[{"type":"WEB","url":"https://github.com/composer/composer/security/advisories/GHSA-x7cr-6qr6-2hh6"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2022-24828"},{"type":"WEB","url":"https://github.com/composer/composer/commit/2c40c53637c5c7e43fff7c09d3d324d632734709"},{"type":"WEB","url":"https://github.com/FriendsOfPHP/security-advisories/blob/master/composer/composer/CVE-2022-24828.yaml"},{"type":"PACKAGE","url":"https://github.com/composer/composer"},{"type":"WEB","url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/625MT3IKWKFVIWLSYZFSXHVUA2LES7YQ"},{"type":"WEB","url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/GWT6LDSRY7SFMTDZWJ4MS2ZBXHL7VQEF"},{"type":"WEB","url":"https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/QD7JQWL6C4GVROO25DTXWYWM6BPOPPCG"},{"type":"WEB","url":"https://www.tenable.com/security/tns-2022-09"}],"affected":[{"package":{"name":"composer/composer","ecosystem":"Packagist","purl":"pkg:composer/composer/composer"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.10.26"}]}],"versions":["1.0.0","1.0.0-alpha1","1.0.0-alpha10","1.0.0-alpha11","1.0.0-alpha2","1.0.0-alpha3","1.0.0-alpha4","1.0.0-alpha5","1.0.0-alpha6","1.0.0-alpha7","1.0.0-alpha8","1.0.0-alpha9","1.0.0-beta1","1.0.0-beta2","1.0.1","1.0.2","1.0.3","1.1.0","1.1.0-RC","1.1.1","1.1.2","1.1.3","1.10.0","1.10.0-RC","1.10.1","1.10.10","1.10.11","1.10.12","1.10.13","1.10.14","1.10.15","1.10.16","1.10.17","1.10.18","1.10.19","1.10.2","1.10.20","1.10.21","1.10.22","1.10.23","1.10.24","1.10.25","1.10.3","1.10.4","1.10.5","1.10.6","1.10.7","1.10.8","1.10.9","1.2.0","1.2.0-RC","1.2.1","1.2.2","1.2.3","1.2.4","1.3.0","1.3.0-RC","1.3.1","1.3.2","1.3.3","1.4.0","1.4.1","1.4.2","1.4.3","1.5.0","1.5.1","1.5.2","1.5.3","1.5.4","1.5.5","1.5.6","1.6.0","1.6.0-RC","1.6.1","1.6.2","1.6.3","1.6.4","1.6.5","1.7.0","1.7.0-RC","1.7.1","1.7.2","1.7.3","1.8.0","1.8.1","1.8.2","1.8.3","1.8.4","1.8.5","1.8.6","1.9.0","1.9.1","1.9.2","1.9.3"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2022/04/GHSA-x7cr-6qr6-2hh6/GHSA-x7cr-6qr6-2hh6.json"}},{"package":{"name":"composer/composer","ecosystem":"Packagist","purl":"pkg:composer/composer/composer"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.0"},{"fixed":"2.2.12"}]}],"versions":["2.0.0","2.0.0-RC1","2.0.0-RC2","2.0.0-alpha1","2.0.0-alpha2","2.0.0-alpha3","2.0.1","2.0.10","2.0.11","2.0.12","2.0.13","2.0.14","2.0.2","2.0.3","2.0.4","2.0.5","2.0.6","2.0.7","2.0.8","2.0.9","2.1.0","2.1.0-RC1","2.1.1","2.1.10","2.1.11","2.1.12","2.1.14","2.1.2","2.1.3","2.1.4","2.1.5","2.1.6","2.1.7","2.1.8","2.1.9","2.2.0","2.2.0-RC1","2.2.1","2.2.10","2.2.11","2.2.2","2.2.3","2.2.4","2.2.5","2.2.6","2.2.7","2.2.8","2.2.9"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2022/04/GHSA-x7cr-6qr6-2hh6/GHSA-x7cr-6qr6-2hh6.json"}},{"package":{"name":"composer/composer","ecosystem":"Packagist","purl":"pkg:composer/composer/composer"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"2.3"},{"fixed":"2.3.5"}]}],"versions":["2.3.0","2.3.0-RC1","2.3.0-RC2","2.3.1","2.3.2","2.3.3","2.3.4"],"database_specific":{"source":"https://github.com/github/advisory-database/blob/main/advisories/github-reviewed/2022/04/GHSA-x7cr-6qr6-2hh6/GHSA-x7cr-6qr6-2hh6.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:N/AC:H/PR:N/UI:R/S:C/C:H/I:H/A:H"}]}