PHP_CodeSniffer токенизирует файлы PHP и обнаруживает нарушения определенного набора стандартов кодирования. До версий 3.13.6 и 4.0.2 PHP_CodeSniffer содержал уязвимость внедрения команд в код, генерирующий форматы отчетов Gitblame, Hgblame и Svnblame. В результате запуск PHP_CodeSniffer над ненадежными файлами, например, в конвейере непрерывной интеграции, который сканирует запросы на включение, или на компьютере разработчика, проверяющем сторонний код, может привести к выполнению контролируемых злоумышленником команд оболочки, когда отчет Gitblame, Hgblame или Svnblame обрабатывает файл, имя которого содержит метасимволы оболочки.
Пользователи, использующие полный отчет по умолчанию или любые другие отчеты без указания виновных, не затрагиваются. Пользователи на платформе среды выполнения, которая не позволяет именам файлов содержать метасимволы оболочки, такие как « и ;», не затрагиваются. Эта проблема исправлена в версиях 3.13.6 и 4.0.2.
Показать оригинальное описание (EN)
PHP_CodeSniffer tokenizes PHP files and detects violations of a defined set of coding standards. Prior to versions 3.13.6 and 4.0.2, PHP_CodeSniffer contains a command injection vulnerability in the code that generates the Gitblame, Hgblame, and Svnblame report formats. As a result, running PHP_CodeSniffer over untrusted files, for example in a continuous integration pipeline that scans pull requests, or on a developer machine reviewing third party code, could result in attacker controlled shell commands being executed when the Gitblame, Hgblame, or Svnblame report processes a file whose name contains shell metacharacters. Users using the default Full report, or any of the other non-blame reports, are not affected. Users on a runtime platform which does not allow filenames to contain shell metacharacters, such as " and ;, are not affected. This issue is fixed in versions 3.13.6 and 4.0.2.
Характеристики атаки
Последствия
Строка CVSS v4.0