CVE-2026-32731
ApostropheCMS содержит произвольную запись файлов (Zip Slip / Path Traversal) при извлечении Gzip в Import-Export
- Опубликовано
- 18 мар. 2026 г.
- Обновлено
- 19 мар. 2026 г.
- Назначение CNA
- GitHub_M
- Наблюдены доказательства
- 25 авг. 2026 г.
Первичный CVSS
nvd · CVSS 3.1
CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:HНизкий · следующие 30 дней
- Процентиль
- 36,9 %
- Дата модели
- 21 сент. 2026 г.
EPSS – это статистическая оценка, а не достоверность или мера воздействия. Объедините это с CVSS, статусом KEV, воздействием и вашей средой.
Резюме
ApostropheCMS — это система управления контентом с открытым исходным кодом. До версии 3.5.3 пакета `@apostrophecms/import-export` функция `extract()` в `gzip.js` формирует пути для записи файлов с помощью `fs.createWriteStream(path.join(exportPath, header.name))`. Функция `path.join()` не разрешает и не санирует traversal-сегменты, такие как `../`. Она объединяет их как есть, а это означает, что запись в tar-архиве с именем `../../evil.js` разрешается в путь за пределами целевой директории извлечения. Перед открытием потока записи проверка канонического пути не выполняется. Это классическая уязвимость Zip Slip. Любой пользователь, которому предоставлено разрешение Global Content Modify — роль, обычно назначаемая редакторам контента и администраторам сайтов, — может загрузить специально созданный файл `.tar.gz` через стандартный интерфейс импорта CMS и записать содержимое, контролируемое атакующим, в любой путь, доступный процессу Node.js в файловой системе хоста. Версия 3.5.3 пакета `@apostrophecms/import-export` устраняет эту проблему.
Источники
1Эксплойт для проверки концепции CVE-2026-32731, демонстрирующий уязвимость и предоставляющий рабочий эксплойт для тестирования безопасности и валидации.
Ответственное использование
Используйте информацию об уязвимостях только в тех системах, которыми вы владеете или имеете право тестировать. Kitploit ссылается на метаданные общедоступных исследований и не хранит код эксплойта или вредоносные полезные данные.