CVE-2026-32731

CRITICAL CVSS 3.1: 9,9 EPSS 0.07%
Обновлено 24 марта 2026
Apostrophecms
Параметр Значение
CVSS 9,9 (CRITICAL)
Уязвимые версии до 3.5.3
Устранено в версии 3.5.3
Тип уязвимости CWE-22 (Обход пути)
Поставщик Apostrophecms
Публичный эксплойт Нет

ApostrofeCMS — это платформа управления контентом с открытым исходным кодом. До версии 3.5.3 `@apostropecms/import-export`, Функция «extract()» в «gzip.js» создает пути записи файлов, используя «fs.createWriteStream(path.join(exportPath, header.name))». `path.join()` не разрешает и не очищает сегменты обхода, такие как `../`. Он объединяет их как есть, то есть запись tar с именем `../../evil.js` разрешается в путь за пределами предполагаемого каталога извлечения.

Перед открытием потока записи проверка канонического пути не выполняется. Это хрестоматийная уязвимость Zip Slip. Любой пользователь, которому предоставлено разрешение на глобальное изменение контента (роль, которую обычно назначают редакторам контента и менеджерам сайтов), может загрузить созданный файл `.tar.gz` через стандартный пользовательский интерфейс импорта CMS и записать контролируемый злоумышленником контент по любому пути, которого процесс Node.js может достичь в файловой системе хоста.

Версия 3.5.3 `@apostropecms/import-export` устраняет проблему.

Показать оригинальное описание (EN)

ApostropheCMS is an open-source content management framework. Prior to version 3.5.3 of `@apostrophecms/import-export`, The `extract()` function in `gzip.js` constructs file-write paths using `fs.createWriteStream(path.join(exportPath, header.name))`. `path.join()` does not resolve or sanitise traversal segments such as `../`. It concatenates them as-is, meaning a tar entry named `../../evil.js` resolves to a path outside the intended extraction directory. No canonical-path check is performed before the write stream is opened. This is a textbook Zip Slip vulnerability. Any user who has been granted the Global Content Modify permission — a role routinely assigned to content editors and site managers — can upload a crafted `.tar.gz` file through the standard CMS import UI and write attacker-controlled content to any path the Node.js process can reach on the host filesystem. Version 3.5.3 of `@apostrophecms/import-export` fixes the issue.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Низкая
Легко эксплуатировать
Нужны права
Низкие
Нужны базовые права
Участие пользователя
Не требуется
Не нужно действие пользователя

Последствия

Конфиденциальность
Высокое
Полная утечка данных
Целостность
Высокое
Полная модификация данных
Доступность
Высокое
Полный отказ в обслуживании

Строка CVSS v3.1

Тип уязвимости (CWE)

Уязвимые продукты 1

Конфигурация От (включительно) До (исключительно)
Apostrophecms Import-Export
cpe:2.3:a:apostrophecms:import-export:*:*:*:*:*:node.js:*:*
3.5.3

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