Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
ReconControl or MITM upstream TLS endpoint
-
DeliveryCraft X.509 cert with NUL byte in dNSName SAN
-
ExploitPresent cert during Envoy upstream TLS handshake
-
Install.c_str() causes strlen() truncation in dnsNameMatch
-
C2Truncated SAN matches configured config_san
-
ExecuteCertificate validation returns true
-
ImpactIntercept or observe proxied upstream traffic
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Metacharacter neutralization
|
| Exploitation Conditions | Exploitation requires that the attacker be in a network position to serve a TLS certificate to Envoy acting as a TLS client connecting to an upstream - either by directly controlling the upstream server or by executing a man-in-the-middle attack on the Envoy-to-upstream network segment. The targeted upstream connection must be subject to SAN-based certificate validation with a configured config_san match in Envoy; upstreams without SAN validation enabled are not affected by this specific flaw. The attacker must additionally be able to obtain or forge an X.509 certificate with an embedded NUL byte in the dNSName SAN field, which in practice requires either control of a certificate authority, use of a CA that does not sanitize SAN content, or presentation of self-signed certificates in deployments that do not strictly enforce upstream CA trust. Exploitation is bounded by: (1) the need to control or MITM an upstream TLS endpoint (AC:H), (2) the requirement to produce a valid X.509 certificate containing a NUL-embedded dNSName SAN, and (3) the targeted Envoy deployment must use SAN-based validation for the specific upstream in question. Deployments relying solely on Subject CN matching, or those where upstreams use strictly-managed internal CAs with proper SAN content validation, are less exposed. The CVSS vector is PR:H per the vendor, though the advisory does not explicitly require privileges on the Envoy instance itself. |
| Impact | The vendor-provided CVSS 3.1 vector AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:N yields a score of 4.4, reflecting high attack complexity and a high privilege prerequisite. The C:H rating is well-grounded - successful SAN bypass enables Envoy to route traffic through or accept connections from an attacker-controlled upstream, directly exposing proxied application traffic. The AC:H rating is similarly justified by the need to control an upstream endpoint or execute a network-level MITM attack. The PR:H component is the most debatable metric: controlling an external upstream server does not require privileges on the Envoy instance itself, and the vendor's PR:H appears to reflect the operational positioning difficulty rather than classical privilege escalation. This interpretation is not independently confirmed by the advisory text. No EPSS score was provided in source data, and the vulnerability is not listed in CISA KEV. With no public exploit, AC:H, and the operational requirement to control or MITM an upstream TLS session, real-world exploitation risk is moderate-to-low for most deployments - but environments where upstream certificate authorities are weakly controlled or where upstream network paths are exposed to semi-trusted parties face meaningfully elevated risk. |
| Exploit ScenarioDerived | An attacker who controls or can perform a man-in-the-middle attack against an upstream server that Envoy routes traffic to crafts a TLS certificate with a dNSName SAN of 'trusted.example.com\x00.attacker.com' and presents it during the TLS handshake. Envoy's verifySubjectAltName extracts the full SAN string but the subsequent .c_str() call causes strlen()-based truncation inside dnsNameMatch, reducing the evaluated string to 'trusted.example.com', which matches the operator-configured config_san. Validation returns true, Envoy routes proxied application traffic through the attacker's endpoint, and sensitive data is exposed. No public proof-of-concept code has been identified at time of analysis. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jun 26, 2026
Certificate SAN validation in Envoy Proxy is bypassed when an attacker-controlled upstream serves a TLS certificate containing an embedded NUL byte in the dNSName Subject Alternative Name field. Envoy versions prior to 1.35.11, 1.36.7, 1.37.3, and 1.38.1 are affected, allowing an attacker who controls or can impersonate an upstream TLS endpoint to pass Envoy's configured SAN match check with a fraudulent certificate and intercept proxied traffic. No public exploit code has been identified at time of analysis, and this vulnerability is not listed in the CISA KEV catalog.
RemediationAI
The definitive fix is upgrading Envoy to a patched release: 1.35.11, 1.36.7, 1.37.3, or 1.38.1, per the vendor GitHub Security Advisory at https://github.com/envoyproxy/envoy/security/advisories/GHSA-f8x4-rw5x-f3r7. If an immediate upgrade is not operationally feasible, operators can reduce exposure by ensuring all upstream endpoints that Envoy connects to use certificates issued exclusively by strictly controlled internal certificate authorities that cannot issue certificates containing NUL bytes in the dNSName SAN field - this eliminates the attacker's ability to craft a valid exploitable certificate but requires full CA chain trust control and does not protect against MITM scenarios involving compromised or rogue CAs. Where Envoy is deployed as a component of Istio or other service meshes, operators should track vendor-specific backport advisories and apply platform-level updates. Certificate pinning for specific upstreams, where supported by the deployment model, would further restrict the attack surface. These mitigations reduce but do not eliminate risk; patching remains the only complete remediation.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Envoy's TLS client-side certificate verification flows through DefaultCertValidator::verifySubjectAltName, which compares certificate SAN fields against operator-configured expected SAN patterns. The vulnerability (CWE-158: Improper Neutralization of Embedded NUL Bytes) arises from a type-safety gap in the SAN comparison path: Utility::generalNameAsString correctly captures the full binary SAN string including any embedded NUL characters, but .c_str() is subsequently called on the result before passing the value to Utility::dnsNameMatch(). Inside dnsNameMatch, the value is consumed as an absl::string_view whose effective length is implicitly derived from strlen(), which halts at the first NUL byte. A dNSName SAN of 'trusted.example.com\x00.attacker.com' is therefore evaluated only as 'trusted.example.com', matching an operator-configured config_san for 'trusted.example.com' and causing verifySubjectAltName to return true. This is a classic NUL byte injection pattern transposed into a C++ string-handling context. The affected CPE is cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:*.
Know when Envoy gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:N
AV:N for network-delivered attack; AC:H for required upstream control or MITM position; PR:N because the attacker needs no privileges on the Envoy instance itself, only control of an external upstream endpoint.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
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.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour
Remote code execution is possible in Node.js releases that bundle a vulnerable Brotli decoder: a malformed brotli-compre
Envoy is an open source edge and service proxy designed for cloud-native applications. Rated critical severity (CVSS 9.8
An issue was discovered in Envoy 1.12.0. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable,
An issue was discovered in Envoy 1.12.0. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable,
Envoy is an open source edge and service proxy designed for cloud-native applications. Rated critical severity (CVSS 9.1
Envoy is an open source edge and service proxy designed for cloud-native applications. Rated critical severity (CVSS 9.1
Envoy is an open source edge and service proxy designed for cloud-native applications. Rated critical severity (CVSS 9.1
Envoy through 1.15.0 only considers the first value when multiple header values are present for some HTTP headers. Rated
When parsing HTTP/1.x header values, Envoy 1.9.0 and before does not reject embedded zero characters (NUL, ASCII 0x0). R
Envoy's RBAC filter improperly concatenates duplicate HTTP headers into comma-separated strings instead of validating ea
Envoy is a cloud-native high-performance edge/middle/service proxy. Rated high severity (CVSS 7.5), this vulnerability i
Same technique Information Disclosure
View allVendor StatusVendor
SUSE
Severity: Moderate| Product | Status |
|---|---|
| openSUSE Tumbleweed | Fixed |
EUVD-2026-39818
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB