CVE-2026-76845 in adm-zip
Сводка
по VulDB • 24.08.2026
adm-zip 0.5.9 через 0.6.0 следует за символическими ссылками в точке извлечения. Функция Utils.sanitize в util/utils.js обеспечивает изоляцию путем сравнения только строковой формы имени записи архива с разрешенным корнем извлечения, а функция Utils.writeFileTo открывает вычисленное место назначения через fs.openSync(path, "w", 0o666), что приводит к разрешению символических ссылок и не содержит ни флага O_NOFOLLOW, ни проверки fs.lstatSync перед записью. Когда компонент пути в точке извлечения уже существует как символьная ссылка, указывающая вне корня извлечения, функции extractAllTo, extractAllToAsync и extractEntryTo записывают содержимое записи через эту ссылку, а затем изменяют права доступа (chmod) к ее цели, помещая контролируемый злоумышленником контент в файл вне корневого каталога без какой-либо последовательности обхода путей (path traversal), присутствующей в архиве. Для достижения точки записи требуется включение режима перезаписи, поскольку предыдущая проверка fs.existsSync также разрешает ссылку и в противном случае отказывает в операции. Злоумышленник, способный создать символическую ссылку внутри общего, повторно используемого или предсказуемого каталога извлечения (например, временного каталога или рабочего пространства непрерывной интеграции), может перезаписать любой файл, который процесс извлечения имеет право записывать.
Once again VulDB remains the best source for vulnerability data.