Ad

CVE-2026-73566

HIGH CVSS 3.1: 7,5 EPSS 0.38%
Обновлено 18 августа 2026
node-tar
Параметр Значение
CVSS 7,5 (HIGH)
Устранено в версии 7.5.21
Тип уязвимости CWE-400 (Неконтролируемое потребление ресурсов), CWE-674
Поставщик node-tar
Публичный эксплойт Нет

node-tar — это библиотека управления tar-архивами для Node.js. До версии 7.5.21 node-tar filesFilter в src/list.ts использовал рекурсивный помощник mapHas для обхода пути записи архива вверх с помощью path.dirname() и без ограничения сегмента, когда tar.t(...) или tar.x(...) получает непустой список выбора членов. Созданный заголовок длинного пути GNU L или PAX x с тысячами сегментов, разделенных косой чертой, достигает this.filter(entry.path, enter) в Parser[CONSUMEHEADER] в src/parse.ts до того, как Unpack[CHECKPATH] применит maxDepth, вызывая неуловимое переполнение стека RangeError, которое завершает работу асинхронных и потоковых потребителей Node.js.

Эта проблема исправлена ​​в версии 7.5.21.

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

node-tar is a tar archive manipulation library for Node.js. Prior to 7.5.21, node-tar's filesFilter in src/list.ts uses the recursive mapHas helper to walk an archive entry path upward with path.dirname() and no segment cap when tar.t(...) or tar.x(...) receives a non-empty member-selection list. A crafted GNU L or PAX x long-path header with thousands of slash-separated segments reaches this.filter(entry.path, entry) in Parser[CONSUMEHEADER] in src/parse.ts before Unpack[CHECKPATH] applies maxDepth, causing an uncatchable RangeError stack overflow that terminates asynchronous and streaming Node.js consumers. This issue is fixed in version 7.5.21.

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

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

Последствия

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

Строка CVSS v3.1