CVE-2026-75899
WysokieCVSS 7.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 14 - wyżej niż 14% wszystkich znanych CVE
Streszczenie
Parser URI fast-uri dla Node.js dekoduje procentowe sekwencje w nazwie hosta dwukrotnie, co może prowadzić do zmiany docelowego adresu na loopback lub inny adres wewnętrzny. Podatność dotyczy wersji 2.4.1 do 2.4.4, 3.1.2 do 3.1.5 oraz 4.0.0 do 4.1.2.
Ocena ryzyka
Aplikacje normalizujące lub rozwiązujące niezaufane URI przed wysłaniem żądań mogą otrzymać inny cel niż pierwotnie zakodowany, co umożliwia ataki SSRF i obejście polityki hosta.
Rekomendacja
Zaktualizuj fast-uri do wersji 2.4.5, 3.1.6 lub 4.1.3, które normalizują procentowe sekwencje tylko raz i zachowują zakodowane znaki procentu.
Inne podatności w fast-uri
Zobacz wszystkie- CVE-2026-76172Wysokie
Parser URI fast-uri dla Node.js nieprawidłowo przetwarza schemat z zakodowanymi procentowo ukośnikami, co pozwala atakującemu na manipulację hostem i obejście list dozwolonych. Podatność dotyczy wersji 2.3.1 do 2.4.4, 3.0.0 do 3.1.5 oraz 4.0.0 do 4.1.2.
- CVE-2026-75975Wysokie
Parser URI fast-uri dla Node.js nieprawidłowo waliduje adresy IPv6 w nawiasach, co pozwala na przekształcenie złośliwego hosta w inny adres IPv6, np. loopback lub adres prywatny. Podatność dotyczy wersji 2.3.1 do 2.4.4, 3.0.0 do 3.1.5 oraz 4.0.0 do 4.1.2.
- CVE-2026-75931Wysokie
Parser URI fast-uri dla Node.js nie kanonizuje hosta w referencjach względnych schematu, co prowadzi do niespójności między funkcjami parse, resolve, normalize i equal. Podatność dotyczy wersji 2.4.2 do 2.4.4, 3.1.3 do 3.1.5 oraz 4.0.1 do 4.1.2.
- CVE-2026-18446Wysokie
Biblioteka fast-uri przed wersjami 4.1.2, 3.1.5 i 2.4.4 nieprawidłowo parsuje URI, gdy zamiast podwójnego ukośnika użyto znaku backslasha. Node.js traktuje backslash jako zamiennik ukośnika, co prowadzi do różnic w parsowaniu hosta. Aplikacje używające fast-uri do egzekwowania polityk opartych na hoście mogą zostać przekierowane na niezamierzony host.
- CVE-2026-16221Wysokie
Podatność w bibliotece fast-uri (wersje 2.3.1-4.1.0, 3.x do 3.1.3, 2.x do 2.4.2). Znak backslash nie jest traktowany jako ogranicznik autorytetu, podczas gdy parser Node.js normalizuje go do slash. Różnica w parsowaniu może prowadzić do ominięcia polityk opartych na hostach (allowlisty, filtrowanie SSRF).
- CVE-2026-13676Wysokie
fast-uri w wersjach 2.3.1 do 3.1.2 oraz 4.0.0 nie kanonizuje nazw hostów Unicode (IDN) w adresach URL rodziny HTTP. Powoduje to rozbieżności między fast-uri a natywnym parserem URL Node.js, co może prowadzić do obejścia polityk opartych na hostach.
- CVE-2026-6322Wysokie
W bibliotece fast-uri w wersjach do 3.1.1 funkcja normalize() dekodowała zakodowane procentowo znaki ograniczników autorytetu w komponencie hosta, a następnie emitowała je jako surowe ograniczniki podczas serializacji. Pozwala to na zmianę autorytetu URI na inny niż wskazywało wejście, co może prowadzić do przekierowania ruchu do nieautoryzowanego hosta.
- CVE-2026-6321Wysokie
W bibliotece fast-uri w funkcjach normalize() i equal() odkodowano procentowo zakodowane separatory ścieżki oraz kropki przed usunięciem segmentów kropek. Zakodowane dane ścieżki były traktowane jak prawdziwe ukośniki i odwołania do katalogu nadrzędnego, co powodowało, że różne URI mogły być znormalizowane do tej samej ścieżki. Podatność dotyczy wersji do 3.1.0 włącznie.
Oryginalny opis (angielski, źródło NVD)
fast-uri is a URI parser for Node.js. It decodes percent escapes in a hostname during parsing and then decodes the parsed hostname a second time during authority recomposition, so a single call to normalize or resolve can turn nested percent-encoded input into a different network destination such as a loopback hostname or address. For example, a doubly encoded host that spells out a loopback name decodes to that live host in one operation, which contradicts RFC 3986 section 2.4 that an implementation must not decode the same string more than once. An application that normalizes or resolves an untrusted HTTP-family URI before outbound routing, redirect validation, or a host-policy check can receive a destination different from the one the original encoded host represented, giving a server-side request forgery and host-policy bypass primitive. This is an incomplete-fix variant of CVE-2026-6322. The affected versions are 2.4.1 up to but not including 2.4.5, 3.1.2 up to but not including 3.1.6, and 4.0.0 up to but not including 4.1.3. The issue is fixed in 2.4.5, 3.1.6, and 4.1.3, which normalize percent escapes once and preserve encoded percent signs. Users should upgrade to a patched version.

