Логотип exploitDog
Консоль
Логотип exploitDog

exploitDog

github логотип

GHSA-x7cr-6qr6-2hh6

Опубликовано: 22 апр. 2022
Источник: github
Github: Прошло ревью
CVSS3: 8.3

Описание

Missing input validation can lead to command execution in composer

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.

Пакеты

Наименование

composer/composer

composer
Затронутые версииВерсия исправления

< 1.10.26

1.10.26

Наименование

composer/composer

composer
Затронутые версииВерсия исправления

>= 2.0, < 2.2.12

2.2.12

Наименование

composer/composer

composer
Затронутые версииВерсия исправления

>= 2.3, < 2.3.5

2.3.5

EPSS

Процентиль: 65%
0.00504
Низкий

8.3 High

CVSS3

Дефекты

CWE-20
CWE-88
CWE-94

Связанные уязвимости

CVSS3: 8.3
ubuntu
около 3 лет назад

Composer is a dependency manager for the PHP programming language. Integrators using Composer code to call `VcsDriver::getFileContent` can have a code injection vulnerability if the user can control the `$file` or `$identifier` argument. This leads to a vulnerability on packagist.org for example where the composer.json's `readme` field can be used as a vector for injecting parameters into hg/Mercurial via the `$file` argument, or git via the `$identifier` argument if you allow arbitrary data there (Packagist does not, but maybe other integrators do). Composer itself should not be affected by the vulnerability as it does not call `getFileContent` with arbitrary data into `$file`/`$identifier`. To the best of our knowledge this was not abused, and the vulnerability has been patched on packagist.org and Private Packagist within a day of the vulnerability report.

CVSS3: 8.3
nvd
около 3 лет назад

Composer is a dependency manager for the PHP programming language. Integrators using Composer code to call `VcsDriver::getFileContent` can have a code injection vulnerability if the user can control the `$file` or `$identifier` argument. This leads to a vulnerability on packagist.org for example where the composer.json's `readme` field can be used as a vector for injecting parameters into hg/Mercurial via the `$file` argument, or git via the `$identifier` argument if you allow arbitrary data there (Packagist does not, but maybe other integrators do). Composer itself should not be affected by the vulnerability as it does not call `getFileContent` with arbitrary data into `$file`/`$identifier`. To the best of our knowledge this was not abused, and the vulnerability has been patched on packagist.org and Private Packagist within a day of the vulnerability report.

CVSS3: 8.3
debian
около 3 лет назад

Composer is a dependency manager for the PHP programming language. Int ...

suse-cvrf
почти 3 года назад

Security update for php-composer2

CVSS3: 8.3
fstec
около 3 лет назад

Уязвимость реализации метода VcsDriver::getFileContent() менеджера зависимостей для PHP Composer, позволяющая нарушителю выполнить произвольные команды

EPSS

Процентиль: 65%
0.00504
Низкий

8.3 High

CVSS3

Дефекты

CWE-20
CWE-88
CWE-94