CVE-2026-73566
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 31 - wyżej niż 31% wszystkich znanych CVE
Streszczenie
node-tar przed wersją 7.5.21 ma podatność w funkcji filesFilter w src/list.ts, która używa rekurencyjnej funkcji mapHas do przechodzenia ścieżki wpisu archiwum bez ograniczenia liczby segmentów. Specjalnie spreparowany nagłówek długiej ścieżki GNU L lub PAX x z tysiącami segmentów może spowodować nieprzechwytywalny błąd przepełnienia stosu RangeError, kończący działanie asynchronicznych i strumieniowych aplikacji Node.js. Problem naprawiono w wersji 7.5.21.
Ocena ryzyka
Atakujący może dostarczyć złośliwe archiwum tar, które spowoduje awarię aplikacji Node.js, prowadząc do niedostępności usługi. Może to być wykorzystane do ataków DoS.
Rekomendacja
Należy zaktualizować bibliotekę node-tar do wersji 7.5.21 lub nowszej, która zawiera poprawkę.
Oryginalny opis (angielski, źródło NVD)
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.

