CVE-2026-47778
ŚrednieCVSS 4.4Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 11 — wyżej niż 11% wszystkich znanych CVE
Streszczenie
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.
Ocena ryzyka
Atakujący może wykorzystać tę lukę do podszycia się pod autoryzowane usługi upstream, co prowadzi do nieautoryzowanego dostępu do zasobów lub przechwycenia ruchu w środowisku cloud-native.
Rekomendacja
Należy natychmiast zaktualizować Envoy do wersji 1.35.11, 1.36.7, 1.37.3 lub 1.38.1, w zależności od używanej gałęzi. Po aktualizacji zweryfikować konfiguracje TLS i reguły routingu.
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, a structural flaw was identified in DefaultCertValidator::verifySubjectAltName where the extracted DNS SAN string is cast to a C-style string using .c_str() before being passed to the Utility::dnsNameMatch() algorithm. If the attacker serves a certificate with a dNSName SAN containing an embedded NUL byte, the helper Utility::generalNameAsString captures the complete string including the NUL. However, when .c_str() evaluates it, implicit conversion to absl::string_view inside dnsNameMatch relies on strlen(), prematurely truncating the evaluation context. Envoy evaluates trucated string against the exact required config_san match and returns true, thereby successfully validating the string with the Nul byte for an upstream routing. This vulnerability is fixed in 1.35.11, 1.36.7, 1.37.3, and 1.38.1.

