
Доказательство концепции, демонстрирующее состояние гонки в npm-пакете tar (v7.5.3), вызывающее коллизии файлов при параллельном извлечении, что приводит к повреждению или перезаписи данных.
Доказательство концепции для CVE-2026-23950 — уязвимость состояния гонки в пакете tar.
Данный репозиторий демонстрирует уязвимость состояния гонки в npm-пакете tar (версия 7.5.3), которая допускает коллизию файлов при извлечении. Уязвимость использует различия в нормализации Unicode, где collision_ss и collision_ß могут рассматриваться как один и тот же файл из-за коллизий без учёта регистра.
Эксплойт создаёт tar-архив с двумя файлами:
collision_ss — содержащий 1000 символов 'A'collision_ß — содержащий 1000 символов 'B'При извлечении с включённой параллельной обработкой (jobs: 8) состояние гонки может привести к коллизии этих файлов, что приводит к:
npm install
node index.js
Если состояние гонки успешно эксплуатируется:
[*] GOODЕсли уязвимость не срабатывает:
[-] No collisionДанная уязвимость может привести к:
Обновитесь до исправленной версии пакета tar, когда она станет доступна.
Данный код предназначен только для образовательных и исследовательских целей. Не используйте этот эксплойт в злонамеренных целях.