CVE-2026-13311
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 28 — wyżej niż 28% wszystkich znanych CVE
Streszczenie
Podatność w bibliotece shell-quote przed wersją 1.8.5 powoduje, że funkcja parse() działa w czasie O(n^2) względem liczby tokenów wejściowych. Atakujący może dostarczyć specjalnie spreparowany ciąg znaków, który zablokuje jednowątkową pętlę zdarzeń Node.js na dłuższy czas, prowadząc do odmowy usługi (DoS).
Ocena ryzyka
Ryzyko polega na możliwości przeprowadzenia ataku DoS na aplikacje Node.js używające shell-quote do parsowania danych wejściowych, co może skutkować niedostępnością usługi dla użytkowników.
Rekomendacja
Należy zaktualizować bibliotekę shell-quote do wersji 1.8.5 lub nowszej, która zawiera poprawkę eliminującą problem złożoności obliczeniowej.
Oryginalny opis (angielski, źródło NVD)
shell-quote prior to 1.8.5 finalizes parsed tokens in parse() using Array.prototype.concat as a reduce accumulator, which reallocates and copies the entire growing array on every iteration. As a result parse() runs in O(n^2) time relative to the number of input tokens. An attacker who can supply an attacker-controlled string to any code path that calls parse() (no shell metacharacters are required; plain space-separated words suffice) can block the single-threaded Node.js event loop for an extended period with a small input, resulting in a denial of service. There is no code execution or data disclosure; impact is to availability only. Fixed in 1.8.5.

