Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
CVE-2026-29786 — Доказательство концепции, демонстрирующее обход пути через жёсткие ссылки в npm-пакете tar, позволяющее перезаписывать файлы за пределами каталога извлечения с помощью специально созданных архивов. | Kitploit
Инструменты/GitHubGitHub/jvr2022/cve-2026-29786
Анализ уязвимостейАнализ КодаЭксплуатацияВеб-безопасностьБезопасность Цепочки Поставок
GitHubjvr2022/cve-2026-29786

CVE-2026-29786

Доказательство концепции, демонстрирующее обход пути через жёсткие ссылки в npm-пакете tar, позволяющее перезаписывать файлы за пределами каталога извлечения с помощью специально созданных архивов.

Репозиторий
1106 месяцев назадЕщё не проверено

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

CVE-2026-29786

Исследование: Joshua van Rijswijk

Описание

Этот репозиторий содержит Proof of Concept (PoC) для CVE-2026-29786 — уязвимости в npm-пакете tar, которая позволяет специально созданному архиву создать жёсткую ссылку, указывающую за пределы целевой директории извлечения.

Проблема возникает, когда tar-архив содержит цель ссылки, зависящую от диска, например C:../target.txt. Из-за порядка, в котором библиотека выполняет проверку и нормализацию путей при извлечении, защита от обхода директории может быть обойдена.

После нормализации путь становится ../target.txt, что позволяет цели ссылки выйти за пределы настроенной директории извлечения.

При записи в извлечённый файл внешний файл изменяется, поскольку оба пути ссылаются на одну и ту же жёсткую ссылку.

Детали уязвимости

Уязвимость возникает в логике извлечения, отвечающей за обработку абсолютных путей (Unpack[STRIPABSOLUTEPATH]).

Обнаружение обхода директории выполняется удаления абсолютного пути.

до

Пример вредоносного значения заголовка

linkpath: C:../target.txt

Порядок обработки:

  1. Путь разбивается на сегменты для обнаружения обхода директории.

  2. Проверка обхода ищет сегменты "..".

  3. Поскольку сегмент выглядит как "C:..", проверка не срабатывает.

  4. Функция stripAbsolutePath() позже удаляет префикс диска (C:).

  5. Результирующий путь становится:

../target.txt

  1. Затем цель жёсткой ссылки разрешается относительно директории извлечения.

Это позволяет пути выйти за пределы корневой директории извлечения.

Воздействие

Злоумышленник может перезаписать файлы за пределами директории извлечения с правами процесса, выполняющего извлечение.

Возможные реальные сценарии включают:

• Инструменты командной строки, извлекающие недоверенные tar-архивы • Сборочные конвейеры, обрабатывающие сторонние артефакты • Сервисы, импортирующие предоставленные пользователем tar-файлы • Менеджеры пакетов или плагинные системы, распаковывающие архивы

Использование

  1. Установите уязвимую зависимость

npm install [email protected]

  1. Запустите PoC

node poc.cjs

Скрипт генерирует вредоносный tar-архив и демонстрирует, что запись в извлечённый файл приводит к перезаписи файла за пределами директории извлечения.

Ссылки

  • Рекомендация GitHub по безопасности https://github.com/isaacs/node-tar/security/advisories/GHSA-qffp-2rhf-9h96
  • CVE https://nvd.nist.gov/vuln/detail/CVE-2026-29786
Скачать инструмент