CVE-2026-47775
ŚrednieCVSS 6.8Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 11 - wyżej niż 11% wszystkich znanych CVE
Streszczenie
Envoy przed wersjami 1.35.11, 1.36.7, 1.37.3 i 1.38.1 zawiera podatność w filtrze OAuth2, gdzie funkcje encrypt()/decrypt() używają AES-256-CBC bez znacznika uwierzytelniającego. Atakujący może wykorzystać padding oracle na endpointcie /callback, aby odzyskać plaintext PKCE code_verifier z zaszyfrowanego ciasteczka CodeVerifier.
Ocena ryzyka
Ryzyko polega na możliwości przejęcia tokena dostępu ofiary poprzez odzyskanie code_verifier i wymianę go ze skradzionym kodem autoryzacyjnym, co może prowadzić do nieautoryzowanego dostępu do chronionych zasobów.
Rekomendacja
Zaleca się natychmiastową aktualizację Envoy do wersji 1.35.11, 1.36.7, 1.37.3 lub 1.38.1, które zawierają poprawkę eliminującą podatność.
Inne podatności w Envoy
Zobacz wszystkie- CVE-2026-48090Średnie
W Envoy od wersji 1.37.0 do 1.37.5 oraz 1.38.3 filtr HTTP OAuth2 może pozostawić oczekujące żądanie wymiany tokena po zamknięciu strumienia downstream. Opóźniona odpowiedź AsyncClient może wywołać metody OAuth2Filter na już zwolnionym obiekcie, prowadząc do niezdefiniowanego zachowania, awarii procesu roboczego (utrata dostępności) oraz błędów use-after-free/invalid-vptr. Podatność została naprawiona w wersjach 1.37.5 i 1.38.3.
- CVE-2026-47220Wysokie
Podatność w Envoy umożliwia awarię procesu podczas logowania przy użyciu formatu %REQUESTED_SERVER_NAME(X:Y)% z opcjami HOST_FIRST lub SNI_FIRST, gdy nagłówek hosta jest nieobecny w żądaniu. Problem występuje w wersjach od 1.37.0 do 1.37.4 oraz 1.38.0 do 1.38.2.
- CVE-2026-47205Średnie
W Envoy od wersji 1.36.0 do 1.36.9, 1.37.5 i 1.38.3 występuje podatność Use-After-Free (UAF) w filtrze HTTP ext_authz. Problem pojawia się przy równoczesnym przetwarzaniu nadpisań autoryzacji na trasie i szybkim rozłączaniu klientów, co prowadzi do błędu segmentacji i awarii procesu.
- CVE-2026-48743Wysokie
Envoy przed wersjami 1.35.11, 1.36.7, 1.37.3 i 1.38.1 nieprawidłowo przetwarza żądania HTTP/3 z nagłówkiem Content-Length o wartości niezerowej, które są zakończone na poziomie transportu (HEADERS z FIN). Powoduje to wysłanie do backendu HTTP/1 żądania z niezapłaconym długiem ciała, co umożliwia desynchronizację i ominięcie reguł routingu.
- CVE-2026-48706Średnie
W Envoy od wersji 1.34.0 do 1.35.13, 1.36.9, 1.37.5 i 1.38.3 występuje podatność w komponencie TcpStatsdSink, gdzie przepełnienie bufora wątkowo-lokalnego może być wywołane przez bardzo długie nazwy statystyk (np. >16 KiB). Atakujący może wysłać żądanie HTTP lub gRPC z ekstremalnie długą ścieżką (:path), która jest rejestrowana przez filtr grpc_stats z opcją stats_for_all_methods: true, co prowadzi do zapisu poza przydzieloną pamięcią sterty.
- CVE-2026-48497Średnie
W Envoy, w przypadku skonfigurowania filtru DNS UDP z lokalnym lub zdalnym rozwiązywaniem nazw o długości 255 oktetów, zapytanie z taką nazwą powoduje nieprawidłowe zakończenie procesu. Problem wynika z błędnego założenia w czasie wykonania, że nazwa musi być krótsza niż 255 oktetów, co jest sprzeczne ze specyfikacją DNS RFC 1035.
- CVE-2026-48044Wysokie
W Envoy od wersji 1.23.0 do 1.35.11, 1.36.7, 1.37.3 i 1.38.1 wykryto podatność w implementacji dekompresora zstd (ZstdDecompressorImpl). Przetwarzanie specjalnie spreparowanego, silnie skompresowanego ładunku zstd może prowadzić do ogromnej alokacji pamięci. Atakujący może wykorzystać tę podatność do wyczerpania pamięci, co skutkuje zabiciem procesu przez OOM i odmową usługi (DoS) dla proxy Envoy.
- CVE-2026-48042Wysokie
W Envoy, otwartoźródłowym proxy brzegowym i usługowym dla aplikacji chmurowych, destruktor obiektu JSON powoduje przepełnienie stosu przy głęboko zagnieżdżonych obiektach (rzędu 100 tys. poziomów). Podatność występuje przed wersjami 1.35.11, 1.36.7, 1.37.3 i 1.38.1.
- CVE-2026-47778Średnie
W Envoy odkryto lukę w walidacji certyfikatów TLS, gdzie atakujący może dostarczyć certyfikat z dNSName SAN zawierającym wbudowany bajt NUL. Z powodu nieprawidłowego rzutowania na C-string, walidacja obcina nazwę domeny w miejscu NUL, co pozwala na pominięcie kontroli i autoryzację nieprawidłowego połączenia.
- CVE-2026-47204Średnie
Podatność w filtrze envoy.filters.http.grpc_stats powoduje crash procesu Envoy przez dereferencję pustego wskaźnika, gdy żądanie protokołu Connect (Content-Type: application/connect+proto lub application/connect+json) trafia na trasę direct_response. Problem dotyczy wersji od 1.26.0 do 1.35.13, 1.36.9, 1.37.5 i 1.38.3.
Oryginalny opis (angielski, źródło NVD)
Envoy is an open source edge and service proxy designed for cloud-native applications. Prior to 1.35.11, 1.36.7, 1.37.3, and 1.38.1, the OAuth2 HTTP filter's encrypt()/decrypt() functions use AES-256-CBC without an authentication tag (no HMAC, no AEAD). The /callback endpoint returns HTTP 302 on successful decryption and HTTP 401 on padding failure, creating a padding oracle. An attacker who obtains the encrypted CodeVerifier cookie can recover the plaintext PKCE code_verifier in ~6,200 requests (~100 seconds), then exchange it with a stolen authorization code to obtain the victim's access token. This vulnerability is fixed in 1.35.11, 1.36.7, 1.37.3, and 1.38.1.

