CVE-2023-35942
ŚrednieCVSS 6.5Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 50 - wyżej niż 50% wszystkich znanych CVE
Streszczenie
W Envoy, przed wersjami 1.27.0, 1.26.4, 1.25.9, 1.24.10 i 1.23.12, logi dostępu gRPC korzystające z globalnego zakresu słuchacza mogą powodować awarię `use-after-free` podczas opróżniania słuchacza. Wersje 1.27.0, 1.26.4, 1.25.9, 1.24.10 i 1.23.12 zawierają poprawkę dla tego problemu.
Ocena ryzyka
Organizacje korzystające z podatnych wersji mogą doświadczyć awarii systemu, co może prowadzić do przerw w dostępności usług.
Rekomendacja
Zaleca się aktualizację do wersji 1.27.0, 1.26.4, 1.25.9, 1.24.10 lub 1.23.12. Alternatywnie, można wyłączyć logi dostępu gRPC lub zatrzymać aktualizację słuchacza.
Inne podatności w Envoy
Zobacz wszystkie- CVE-2026-73553Wysokie
Envoy, otwartoźródłowy proxy brzegowe i usługowe, przed wersjami 1.36.10, 1.37.6, 1.38.4 i 1.39.1, ma podatność polegającą na niespójnej kanonizacji ścieżek. Gdy włączona jest opcja ignore_path_parameters_in_path_matching, router usuwa przyrostek średnika przed dopasowaniem, ale matcher RBAC url_path ocenia surową ścieżkę. Żądanie takie jak /admin;x może ominąć regułę DENY dla /admin, podczas gdy router nadal wybiera chronione backendy /admin.
- CVE-2026-73551Średnie
W Envoy przed wersjami 1.36.10, 1.37.6, 1.38.4 i 1.39.1 normalizacja URL nie rozpoznaje segmentów ścieżki kropki i podwójnej kropki, gdy niosą parametry średnika. Żądanie takie jak /user/..;foo=bar/admin nie jest kanonizowane do /admin nawet przy włączonej normalizacji ścieżki. Jeśli upstream interpretuje segment zgodnie z RFC 3986, a Envoy stosuje routing lub RBAC do nieskróconej ścieżki, zdalny klient może wywołać zamieszanie ścieżek i obejść politykę bezpieczeństwa opartą na ścieżce.
- CVE-2026-73511Średnie
W Envoy przed wersjami 1.36.10, 1.37.6, 1.38.4 i 1.39.1 Envoy normalnie dopasowuje surową ścieżkę żądania, podczas gdy backendy servletowe, takie jak Apache Tomcat, usuwają parametry macierzy średnika z każdego segmentu ścieżki przed rozwiązaniem zasobu. Opcja ignore_path_parameters_in_path_matching zamiast tego obcina na pierwszym średniku i nadal nie dopasowuje zachowania backendu per-segment. Zdalny klient może użyć parametryzowanego chronionego segmentu, aby Envoy wybrał niechroniony fallback, podczas gdy backend rozwiązuje chroniony zasób.
- CVE-2026-73552Wysokie
Envoy w wersjach przed 1.36.10, 1.37.6, 1.38.4 i 1.39.1 — mechanizm HTTP RBAC akceptuje poprawne pod względem RFC nieprzezroczyste bajty nagłówka, ale ocenia wartości safe_regex z semantyką podmiotu UTF-8 w RE2. Klient niższego szczebla może zachować zabroniony znacznik i dodać niepowiązany oktet obs-text, powodując, że RE2::FullMatch zwraca false, a polityka negatywna RBAC traktuje nieprawidłowy podmiot jako zwykły brak dopasowania. Dopasowywacz tras zorientowany na bajty może nadal zaobserwować znacznik, co pozwala żądaniu dotrzeć do trasy, która powinna być zablokowana. Luka została naprawiona w wersjach 1.36.10, 1.37.6, 1.38.4 i 1.39.1.
- CVE-2026-73550Wysokie
Envoy w wersjach przed 1.36.10, 1.37.6, 1.38.4 i 1.39.1 kopiuje każdą zdekodowaną wartość nagłówka Host HTTP/2 przed jej odrzuceniem, gdy :authority jest już obecne. Odrzucona wartość omija saveHeader, więc jej bajty i liczba nie są wliczane do limitów nagłówków żądania. Nieuwierzytelniony klient może użyć indeksowania HPACK, aby przesłać wiele odwołań do dużej wartości Host w ograniczonej liczbie strumieni, wymuszając ekstremalną alokację kopii nagłówków i doprowadzając do zabicia proxy przez OOM. Luka została naprawiona w wersjach 1.36.10, 1.37.6, 1.38.4 i 1.39.1.
- CVE-2026-73549Średnie
Envoy przed wersjami 1.36.10, 1.37.6, 1.38.4 i 1.39.1 ma podatność w ścieżkach Utility::copyInternetAddressAndPort oraz QUIC client-address, które rekonstruują adresy IPv6 ze scopem. Ciąg zawiera identyfikator zakresu (percent scope), którego inet_pton nie może sparsować, co powoduje wyjątek lub przerwanie działania. Wdrożenia transparent-proxy z ORIGINAL_DST oraz dotknięte ścieżki QUIC mogą zakończyć proces. Problem naprawiono w wersjach 1.36.10, 1.37.6, 1.38.4 i 1.39.1.
- CVE-2026-73548Wysokie
Envoy w wersjach przed 1.36.10, 1.37.6, 1.38.4 i 1.39.1 przekazuje dane dla skonfigurowanej aktualizacji HTTP innej niż WebSocket, zanim serwer nadrzędny zaakceptuje aktualizację. Nieuwierzytelniony klient HTTP/2 może umieścić kompletne żądanie HTTP/1.1 w danych rozszerzonego CONNECT; Envoy degraduje żądanie, zapisuje dane bez ramkowania do utrzymującego połączenie serwera nadrzędnego HTTP/1.1 i zwraca gniazdo do współdzielonej puli, podczas gdy przemycona odpowiedź pozostaje w kolejce. Inny klient niższego szczebla może następnie otrzymać odpowiedź atakującego. Luka została naprawiona w wersjach 1.36.10, 1.37.6, 1.38.4 i 1.39.1.
- CVE-2026-73547Wysokie
Envoy w wersjach przed 1.36.10, 1.37.6, 1.38.4 i 1.39.1 — filtr ext_authz zakłada, że żądanie zawiera pseudoheader :path podczas stosowania query_parameters_to_set lub query_parameters_to_remove z odpowiedzi autoryzacyjnej. Żądanie CONNECT bez ścieżki powoduje, że request_headers_->Path() zwraca null, a Filter::onComplete dereferencjonuje ten wskaźnik podczas parsowania ciągu zapytania. Nieuwierzytelniony klient niższego szczebla może spowodować awarię procesu Envoy, gdy filtr i odpowiedź autoryzacyjna używają modyfikacji parametrów zapytania. Luka została naprawiona w wersjach 1.36.10, 1.37.6, 1.38.4 i 1.39.1.
- CVE-2026-73546Wysokie
Envoy w wersjach przed 1.36.10, 1.37.6, 1.38.4 i 1.39.1 — punkt końcowy administracyjny /stats?format=html używa StatsHtmlRender, który sanityzuje wartości statystyk tekstowych, ale emituje nazwy statystyk bez kodowania HTML. Komponent płaszczyzny danych, taki jak grpc_stats z włączonym stats_for_all_methods, może włączyć kontrolowane przez atakującego segmenty ścieżki do buforowanych dynamicznych nazw statystyk. Gdy operator wyświetla stronę statystyk HTML, zapisana nazwa może wykonać skrypt w kontekście interfejsu administracyjnego i wysłać uprzywilejowane żądania tego samego pochodzenia. Luka została naprawiona w wersjach 1.36.10, 1.37.6, 1.38.4 i 1.39.1.
- CVE-2026-73513Wysokie
Envoy w wersjach przed 1.36.10, 1.37.6, 1.38.4 i 1.39.1 — opcjonalny kodek HTTP/2 dla serwera nadrzędnego oghttp2 akceptuje ramkę nagłówków traylera odpowiedzi HEADERS bez END_STREAM. Envoy kończy i odracza usunięcie ActiveRequest, podczas gdy oghttp2 utrzymuje strumień otwarty, pozostawiając ClientStreamImpl z wiszącym odwołaniem response_decoder_. Późniejsza ramka w strumieniu może wywołać zwolniony obiekt i spowodować awarię procesu. Luka została naprawiona w wersjach 1.36.10, 1.37.6, 1.38.4 i 1.39.1.
Oryginalny opis (angielski, źródło NVD)
Envoy is an open source edge and service proxy designed for cloud-native applications. Prior to versions 1.27.0, 1.26.4, 1.25.9, 1.24.10, and 1.23.12, gRPC access loggers using listener's global scope can cause a `use-after-free` crash when the listener is drained. Versions 1.27.0, 1.26.4, 1.25.9, 1.24.10, and 1.23.12 have a fix for this issue. As a workaround, disable gRPC access log or stop listener update.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

