Katalog CVE

CVE-2018-7159

ŚrednieCVSS 5.3
Opublikowano: Zaktualizowano: Przetłumaczono: NVD NIST

Prawdopodobieństwo exploitacji (EPSS)

Wysokie ryzyko
3.57%

Percentyl 89 - wyżej niż 89% wszystkich znanych CVE

Streszczenie

Parser HTTP we wszystkich obecnych wersjach Node.js ignoruje spacje w nagłówku Content-Length, co pozwala na interpretację danych takich jak 'Content-Length: 1 2' jako wartości 12. Specyfikacja HTTP nie zezwala na spacje w wartości Content-Length, a parser HTTP Node.js został dostosowany do tej różnicy. Ryzyko bezpieczeństwa dla użytkowników Node.js jest uważane za BARDZO NISKIE, ponieważ trudno, a może być niemożliwe, stworzyć atak wykorzystujący tę wadę w sposób, który nie byłby już możliwy przez podanie nieprawidłowej wartości Content-Length. Podatności mogą istnieć w kodzie użytkownika, który przyjmuje błędne założenia co do dokładności tej wartości w porównaniu z rzeczywistą długością dostarczonych danych. Użytkownicy Node.js tworzący narzędzia HTTP niższego poziomu powinni ponownie sprawdzić długość wszelkich danych wejściowych po zakończeniu parsowania.

Ocena ryzyka

Podatność może prowadzić do błędnych interpretacji długości treści, co w połączeniu z błędnymi założeniami w kodzie użytkownika może umożliwić ataki typu request smuggling lub inne manipulacje żądaniami HTTP.

Rekomendacja

Zaktualizuj Node.js do najnowszej wersji, która zawiera poprawkę, oraz sprawdź kod aplikacji pod kątem założeń dotyczących długości treści.

Inne podatności w Node.js

Zobacz wszystkie
Oryginalny opis (angielski, źródło NVD)

The HTTP parser in all current versions of Node.js ignores spaces in the `Content-Length` header, allowing input such as `Content-Length: 1 2` to be interpreted as having a value of `12`. The HTTP specification does not allow for spaces in the `Content-Length` value and the Node.js HTTP parser has been brought into line on this particular difference. The security risk of this flaw to Node.js users is considered to be VERY LOW as it is difficult, and may be impossible, to craft an attack that makes use of this flaw in a way that could not already be achieved by supplying an incorrect value for `Content-Length`. Vulnerabilities may exist in user-code that make incorrect assumptions about the potential accuracy of this value compared to the actual length of the data supplied. Node.js users crafting lower-level HTTP utilities are advised to re-check the length of any input supplied after parsing is complete.

Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS