W Envoy 1.12.0 zdalny, nieuwierzytelniony klient może wysłać nagłówek HTTP (np. Host) z białymi znakami po właściwej wartości, co powoduje, że Envoy traktuje taką wartość jako inny ciąg znaków. Umożliwia to ominięcie reguł dopasowania (matcherów) skonfigurowanych na serwerze, co jest krytycznym zagrożeniem dla bezpieczeństwa.
▸ Pokaż oryginał (EN)
An issue was discovered in Envoy 1.12.0. An untrusted remote client may send an HTTP header (such as Host) with whitespace after the header content. Envoy will treat "header-value " as a different string from "header-value" so for example with the Host header "example.com " one could bypass "example.com" matchers.
Envoy nie normalizuje białych znaków (spacji, tabulatorów) znajdujących się na końcu wartości nagłówków HTTP przed ich porównaniem z regułami kontroli dostępu. Atakujący może wysłać nagłówek, np. Host: example.com (ze spacją na końcu), który nie zostanie dopasowany do reguły zdefiniowanej dla wartości 'example.com'. W efekcie reguła bezpieczeństwa jest pomijana, a żądanie jest przepuszczane lub traktowane w inny sposób niż zamierzał administrator.
Atakujący może ominąć mechanizmy kontroli dostępu oparte na dopasowaniu nagłówków HTTP, uzyskując nieuprawniony dostęp do zasobów lub usług chronionych przez Envoy. W zależności od konfiguracji środowiska skutki mogą obejmować naruszenie poufności, integralności i dostępności danych.
Należy zastosować patche dostępne u producenta zgodnie z referencjami. Zaleca się śledzenie oficjalnych porad bezpieczeństwa opublikowanych w repozytorium GitHub Envoy (GHSA-356m-vhw2-wcm4) oraz aktualizację do wersji, w której problem został naprawiony.
Envoyproxy Envoy w wersji 1.12.0
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:HEnvoyproxy Envoy
APPEnvoyproxy≤ 1.12.1
Powiązane podatności
Envoy OAuth filter: pominięcie walidacji access tokena umożliwia nieautoryzowany dostęp
Envoy 1.12.0: zapis poza buforami żądania HTTP/2 prowadzący do RCE lub bypass ACL
The HTTP/2 protocol allows a denial of service (server resource consumption) because request cancellation can ...
Envoy Proxy: NULL pointer dereference powodujący crash przy braku nagłówka hosta
Envoy Proxy: stack overflow przy głęboko zagnieżdżonych obiektach JSON