Rollup — это сборщик модулей для JavaScript. Версии до 2.80.0, 3.30.0 и 4.59.0 упаковщика модуля Rollup (в частности, v4.x и присутствуют в текущем исходном коде) уязвимы к произвольной записи файла через обход пути. Небезопасная очистка имен файлов в основном движке позволяет злоумышленнику контролировать имена выходных файлов (например, через именованные входы CLI, ручные псевдонимы блоков или вредоносные плагины) и использовать последовательности обхода (`../`) для перезаписи файлов в любом месте файловой системы хоста, для которого процесс сборки имеет разрешения.
Это может привести к постоянному удаленному выполнению кода (RCE) из-за перезаписи критически важных файлов конфигурации системы или пользователя. Версии 2.80.0, 3.30.0 и 4.59.0 содержат исправление этой проблемы.
Показать оригинальное описание (EN)
Rollup is a module bundler for JavaScript. Versions prior to 2.80.0, 3.30.0, and 4.59.0 of the Rollup module bundler (specifically v4.x and present in current source) is vulnerable to an Arbitrary File Write via Path Traversal. Insecure file name sanitization in the core engine allows an attacker to control output filenames (e.g., via CLI named inputs, manual chunk aliases, or malicious plugins) and use traversal sequences (`../`) to overwrite files anywhere on the host filesystem that the build process has permissions for. This can lead to persistent Remote Code Execution (RCE) by overwriting critical system or user configuration files. Versions 2.80.0, 3.30.0, and 4.59.0 contain a patch for the issue.
Характеристики атаки
Последствия
Строка CVSS v4.0
Тип уязвимости (CWE)
Уязвимые продукты 3
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Rollupjs Rollup
cpe:2.3:a:rollupjs:rollup:*:*:*:*:*:node.js:*:*
|
— |
2.80.0
|
|
Rollupjs Rollup
cpe:2.3:a:rollupjs:rollup:*:*:*:*:*:node.js:*:*
|
3.0.0
|
3.30.0
|
|
Rollupjs Rollup
cpe:2.3:a:rollupjs:rollup:*:*:*:*:*:node.js:*:*
|
4.0.0
|
4.59.0
|