Стандарты кодирования WordPress — это набор правил PHP_CodeSniffer (обнюхивания), которые обеспечивают соблюдение соглашений по кодированию WordPress. С 0.14.1 по 3.4.1 снифф WordPress.WP.EnqueuedResourceParameters (активный в наборах правил WordPress и WordPress-Extra) реконструировал аргумент $ver, передаваемый таким функциям, как wp_enqueue_script(), и запускал его через eval() внутри своего метода is_falsy(), поэтому во время сканирования выполнялся вредоносный аргумент, такой как 'system'('id'); в результате запуск PHPCS с WordPressCS через ненадежный PHP (например, конвейер CI, который анализирует запросы на извлечение или разработчик, проверяющий сторонний код) может привести к выполнению произвольной команды на сканирующем хосте. Наборы правил WordPress-Core и WordPress-Docs не затронуты.
Эта проблема исправлена в версии 3.4.1.
Показать оригинальное описание (EN)
WordPress Coding Standards is a set of PHP_CodeSniffer rules (sniffs) that enforce WordPress coding conventions. From 0.14.1 until 3.4.1, the WordPress.WP.EnqueuedResourceParameters sniff (active in the WordPress and WordPress-Extra rulesets) reconstructed the $ver argument passed to functions such as wp_enqueue_script() and ran it through eval() inside its is_falsy() method, so a maliciously crafted argument such as 'system'('id') would execute during a scan; as a result, running PHPCS with WordPressCS over untrusted PHP (for example a CI pipeline that lints pull requests, or a developer reviewing third-party code) could lead to arbitrary command execution on the scanning host. The WordPress-Core and WordPress-Docs rulesets are not affected. This issue is fixed in version 3.4.1.
Характеристики атаки
Последствия
Строка CVSS v3.1