CVE-2026-58044
NiskieCVSS 3.7Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 20 - wyżej niż 20% wszystkich znanych CVE
Streszczenie
Podatność w kliencie HTTP Node.js powoduje desynchronizację żądań w serwerach proxy opartych na Node.js, które odtwarzają nagłówki wychodzące z widocznych nagłówków `IncomingMessage`, jednocześnie przesyłając oryginalne ciało żądania do ponownie używanego połączenia backendu. Node.js może pominąć nagłówki przekraczające `maxHeadersCount`/`maxHeaderPairs` w `req.headers`, `req.rawHeaders` i `req.headersDistinct`, ale nadal używać ich wewnętrznie do ramowania wiadomości HTTP, w szczególności ukrywając `Content-Length` przed aplikacją, podczas gdy ciało żądania jest nadal dostarczane.
Ocena ryzyka
Ryzyko polega na tym, że proxy oparte na Node.js może wysyłać do backendu żądania z nieprawidłowymi lub brakującymi nagłówkami, co może prowadzić do desynchronizacji żądań, potencjalnie umożliwiając ataki typu request smuggling lub manipulację treścią żądań.
Rekomendacja
Zaleca się natychmiastową aktualizację Node.js do najnowszej wersji z poprawką dla wszystkich dotkniętych linii wydań (22, 24, 26) oraz monitorowanie biuletynów bezpieczeństwa. Dodatkowo, jeśli to możliwe, ogranicz użycie proxy opartych na Node.js do czasu zastosowania poprawek.
Oryginalny opis (angielski, źródło NVD)
A flaw in Node.js HTTP client can cause a request desynchronization for Node.js-based forwarding proxies that rebuild outbound headers from the visible `IncomingMessage` headers while piping the original body to a reused backend connection. Node.js can omit headers beyond `maxHeadersCount` / `maxHeaderPairs` from `req.headers`, `req.rawHeaders`, and `req.headersDistinct`, while still using those omitted headers internally for HTTP message framing. In particular, `Content-Length` can be hidden from userland while the request body is still delivered. This vulnerability affects all supported release lines: **Node.js 22**, **Node.js 24**, and **Node.js 26**.

