{"id":"CVE-2026-47778","aliases":["BIT-envoy-2026-47778","EUVD-2026-39818","GHSA-f8x4-rw5x-f3r7","openSUSE-SU-2026:11141-1"],"status":"published","title":"Envoy: Embedded NUL in TLS DNS SAN Truncation in the Default TLS Certificate Validator. (Auth Bypass)","description":"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.","severity":{"version":"3.1","score":4.4,"vector":"CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:N","level":"medium","assessor":"cna","from":"cve"},"epss":{"day":"2026-11-12","score":0.00212,"percentile":0.11619,"model":"v2026.06.15"},"facts":{"in_kev":false,"known_exploited":false,"public_exploit":false,"fix_available":true},"cwes":["CWE-158"],"published":"2026-06-26T17:27:57Z","modified":"2026-10-28T02:30:49Z","fixes":[{"ecosystem":"Bitnami","package":"envoy","fixed_in":["1.35.11","1.36.7","1.37.3","1.38.1"],"sources":["osv"]}],"affected":[{"source":"osv","ecosystem":"Bitnami","package":"envoy","ranges":[{"type":"SEMVER","events":[{"introduced":"0"},{"fixed":"1.35.11"},{"introduced":"1.36.0"},{"fixed":"1.36.7"},{"introduced":"1.37.0"},{"fixed":"1.37.3"},{"introduced":"1.38.0"},{"fixed":"1.38.1"}]}]},{"source":"osv","ecosystem":"openSUSE:Tumbleweed","package":"istioctl","ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"},{"fixed":"1.30.2-1.1"}]}],"bundled":14}],"products":[{"vendor":"envoyproxy","product":"envoy"}],"references":[{"url":"https://github.com/envoyproxy/envoy/security/advisories/GHSA-f8x4-rw5x-f3r7","tags":["x_refsource_CONFIRM","exploit","Exploit","Vendor Advisory","Mitigation","advisory"]},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2026-47778","tags":["web","advisory"]},{"url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/47xxx/CVE-2026-47778.json","tags":["advisory"]},{"url":"","tags":["advisory"]},{"url":"https://www.suse.com/security/cve/CVE-2026-47204","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-47205","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-47207","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-47220","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-47221","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-47692","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-47775","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-47778","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-48042","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-48044","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-48090","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-48497","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-48706","tags":["web"]},{"url":"https://www.suse.com/security/cve/CVE-2026-48743","tags":["web"]}],"sources":{"cve":[{"id":"CVE-2026-47778","title":"Envoy: Embedded NUL in TLS DNS SAN Truncation in the Default TLS Certificate Validator. (Auth Bypass)","description":"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.","status":"published","published":"2026-06-26T17:27:57.707Z","modified":"2026-06-27T02:53:13.826Z","cvss":[{"version":"3.1","score":4.4,"vector":"CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:N","level":"medium","assessor":"cna"}],"cwes":["CWE-158"],"updated_at":"2026-11-02T13:36:40.478484Z"}],"euvd":[{"id":"EUVD-2026-39818","description":"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.","status":"published","published":"2026-06-26T17:27:57Z","modified":"2026-06-27T02:53:13Z","cvss":[{"version":"3.1","score":4.4,"vector":"CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"updated_at":"2026-11-02T18:20:23.728044Z"}],"nvd":[{"id":"CVE-2026-47778","description":"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.","status":"published","published":"2026-06-26T18:16:59.48Z","modified":"2026-10-25T17:10:00.197Z","cvss":[{"version":"3.1","score":4.4,"vector":"CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:N","level":"medium","assessor":"secondary"}],"cwes":["CWE-158"],"updated_at":"2026-11-02T14:12:26.045561Z"}],"osv":[{"id":"CVE-2026-47778","title":"Envoy: Embedded NUL in TLS DNS SAN Truncation in the Default TLS Certificate Validator. (Auth Bypass)","description":"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.","status":"published","published":"2026-06-26T17:27:57.707Z","modified":"2026-10-28T02:30:49.042234343Z","cvss":[{"version":"3.1","score":4.4,"vector":"CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:N","level":"medium"}],"cwes":["CWE-158"],"updated_at":"2026-11-02T15:45:06.231145Z"},{"id":"BIT-envoy-2026-47778","title":"Envoy: Embedded NUL in TLS DNS SAN Truncation in the Default TLS Certificate Validator. (Auth Bypass)","description":"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.","status":"published","published":"2026-06-30T23:39:30.542Z","modified":"2026-09-08T08:47:31.595414912Z","updated_at":"2026-11-02T15:28:29.563843Z"},{"id":"openSUSE-SU-2026:11141-1","title":"istioctl-1.30.2-1.1 on GA media","description":"These are all security issues fixed in the istioctl-1.30.2-1.1 package on the GA media of openSUSE Tumbleweed.","status":"published","published":"2026-06-28T00:00:00Z","modified":"2026-06-29T09:45:08.482872076Z","updated_at":"2026-11-02T16:58:38.95195Z"}]}}
