CVE-2026-119202
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 35 - wyżej niż 35% wszystkich znanych CVE
Streszczenie
Biblioteka @hapi/content w wersjach od 3.0.6 do 6.0.3 używa niezakotwiczonego wyrażenia nazwy parametru w globalnym skanowaniu wyrażeń regularnych, co powoduje powtarzające się nieudane dopasowania przy długim tokenie bez znaku równości w nagłówku Content-Disposition. Powstałe przetwarzanie kwadratowe może zablokować pętlę zdarzeń Node.js przed obsługą tras, w tym na nieuwierzytelnionych trasach hapi z włączonym payload.multipart.
Ocena ryzyka
Atakujący może wysłać spreparowany nagłówek multipart/form-data, aby zablokować pętlę zdarzeń Node.js i spowodować odmowę usługi, nawet bez uwierzytelnienia. Ryzyko dotyczy aplikacji hapi przyjmujących dane multipart oraz tych przekazujących niezaufane nagłówki do Content.disposition().
Rekomendacja
Zaktualizuj @hapi/content do wersji 6.0.3 lub nowszej. Unikaj przekazywania niezaufanych nagłówków bezpośrednio do Content.disposition().
Inne podatności w @hapi/content
Zobacz wszystkie- CVE-2026-115728Wysokie
@hapi/content w wersjach od 6.0.1 do przed 6.0.3 zawiera podatność na atak typu regular expression denial of service w Content.disposition(), spowodowaną niepełną poprawką CVE-2026-35213. Nieuwierzytelniony zdalny napastnik może wysłać multipart upload z długim parametrem Content-Disposition bez znaku równości, wywołując kwadratowe cofanie i blokując pętlę zdarzeń.
- CVE-2026-44974Wysokie
Podatność w bibliotece @hapi/content (wersje przed 6.0.2) dotycząca parsowania nagłówków HTTP Content-*. Różne traktowanie duplikatów parametrów może prowadzić do przemycania parametrów i ominięcia filtru nazw plików.
- CVE-2026-35213Wysokie
Biblioteka @hapi/content do wersji 6.0.0 włącznie jest podatna na atak Regular Expression Denial of Service (ReDoS) poprzez spreparowane wartości nagłówków HTTP. Trzy wyrażenia regularne używane do parsowania nagłówków Content-Type i Content-Disposition zawierają wzorce podatne na katastroficzne cofanie się.
Oryginalny opis (angielski, źródło NVD)
@hapi/content provides HTTP Content-* header parsing. From 3.0.6 until 6.0.3, Content.disposition() uses an unanchored parameter-name expression in a global regular-expression scan, causing repeated failed matching over the remaining input when a Content-Disposition parameter contains a long token without an equals sign. The resulting quadratic processing can block the Node.js event loop before route handlers or validation when @hapi/pez parses multipart/form-data headers, including unauthenticated hapi routes with payload.multipart enabled, and also affects applications that pass untrusted headers directly to Content.disposition(). This issue is fixed in @hapi/content version 6.0.3.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

