CVE-2026-66835
WysokieCVSS 8.2Streszczenie
Podatność w serwerze HTTP inets w Erlang/OTP pozwala zdalnemu, nieuwierzytelnionemu atakującemu na odczyt plików w katalogu chronionym przez mod_auth poprzez dodanie dodatkowego ukośnika na początku ścieżki. Normalizacja URI nie usuwa podwójnych ukośników, co powoduje, że sprawdzenie ścieżki nie rozpoznaje chronionego katalogu.
Ocena ryzyka
Atakujący może ominąć uwierzytelnienie i uzyskać dostęp do poufnych plików, co może prowadzić do wycieku danych lub naruszenia bezpieczeństwa.
Rekomendacja
Zaktualizuj Erlang/OTP do wersji z poprawką (OTP 27.3.4.17, 28.5.0.6 lub 29.0.6) lub zastosuj dodatkowe zabezpieczenia, takie jak walidacja ścieżek.
Inne podatności w Erlang/OTP inets
Zobacz wszystkie- CVE-2026-74994Średnie
Moduł mod_auth w serwerze inets httpd OTP, przy użyciu backendów uwierzytelniania dets lub mnesia oraz wielu bloków konfiguracji katalogów, scala wszystkie bloki katalogów w jedną wspólną przestrzeń nazw użytkowników/grup. Użytkownik dodany do jednego chronionego katalogu jest akceptowany jako ważny dla wszystkich innych chronionych katalogów na tym samym serwerze.
- CVE-2026-73270Wysokie
Podatność w serwerze HTTP inets w Erlang/OTP pozwala zdalnemu, nieuwierzytelnionemu atakującemu na odczyt plików w katalogu chronionym przez mod_auth, poprzez wysłanie żądania z inną wielkością liter, gdy system plików nie rozróżnia wielkości liter. Sprawdzenie ścieżki nie uwzględnia opcji caseless, co pozwala ominąć uwierzytelnienie.
- CVE-2026-71562Średnie
W module httpc w Erlang/OTP inets występuje podatność polegająca na nieprawidłowej walidacji ilości w danych wejściowych. Złośliwy lub skompromitowany serwer HTTP może obniżyć dostępność, zwracając nagłówek numeryczny o bardzo długiej sekwencji cyfr, co prowadzi do kosztownej konwersji na liczbę całkowitą.
- CVE-2026-71380Wysokie
Podatność w serwerze HTTP inets w Erlang/OTP pozwala zdalnemu, nieuwierzytelnionemu atakującemu na wywołanie odmowy usługi poprzez wysłanie prawidłowych nagłówków z dużą wartością Content-Length, a następnie wstrzymanie transmisji przed zakończeniem ciała. Serwer anuluje limit czasu po parsowaniu nagłówków i nie ustawia nowego, co prowadzi do zawieszenia procesu roboczego.
- CVE-2026-70399Wysokie
Podatność w serwerze HTTP inets w Erlang/OTP pozwala zdalnemu, nieuwierzytelnionemu atakującemu na wywołanie odmowy usługi poprzez otwarcie i utrzymanie dużej liczby połączeń. Opcja max_clients nie jest domyślnie ustawiana, co pozwala na nieograniczoną liczbę jednoczesnych połączeń, prowadząc do wyczerpania zasobów.
- CVE-2026-66357Wysokie
Serwer HTTP inets w Erlang/OTP nie implementuje obsługi kontynuacji nagłówków (obs-fold), co może prowadzić do podatności na przemycanie żądań HTTP (request smuggling). Każdy CRLF po którym następuje nie-CRLF rozpoczyna nowy nagłówek, co może być wykorzystane przez atakującego.
Oryginalny opis (angielski, źródło NVD)
Path Equivalence vulnerability in Erlang/OTP inets httpd allows a remote unauthenticated attacker to read files inside a mod_auth protected directory by prefixing the request path with an extra slash. httpd_request:validate_uri/1 normalises the request URI with uri_string:normalize/1, which performs RFC 3986 dot-segment removal but does not collapse empty path segments, so a doubled slash survives. mod_alias:real_name/3 concatenates the document root with that URI, and mod_auth:secret_path/3 then decides whether the result lies inside a protected directory block by running the configured directory path as an unanchored regular expression against it. The doubled slash breaks the contiguous substring the regex needs, so the request is treated as unprotected and no authentication challenge is issued, while mod_get opens the same path and the operating system collapses the doubled slash and returns the protected file. The same path mismatch also evades the per-path accounting in mod_security. This issue affects OTP from OTP 17.0 before OTP 27.3.4.17, from OTP 28.0 before OTP 28.5.0.6, and from OTP 29.0 before OTP 29.0.6, corresponding to inets from 5.10 before 9.3.2.7, from 9.4 before 9.6.2.3, and from 9.7 before 9.7.2. Whether OTP before OTP 17.0, corresponding to inets before 5.10, is affected is unknown.

