Skip to main content

Envoy Proxy EUVDEUVD-2025-201090

| CVE-2025-66220 HIGH
Improper Null Termination (CWE-170)
2025-12-03 security-advisories@github.com GHSA-rwjg-c3h2-f57p
7.1
CVSS 3.1 · NVD
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Obtain CA-trusted client cert with embedded null OTHERNAME SAN
  2. Delivery
    Present cert on mTLS handshake to Envoy
  3. Exploit
    Matcher truncates SAN at null byte
  4. Execution
    Exact OTHERNAME rule wrongly matches victim
  5. Impact
    Impersonate identity and access protected service

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Null terminator handling
Exploitation Conditions

Exploitation requires: (1) Envoy configured with require_client_certificate: true and a match_typed_subject_alt_names rule against an OTHERNAME OID using an exact matcher; (2) the attacker possessing a client certificate signed by a CA that Envoy trusts, whose OTHERNAME SAN is encoded as BMPSTRING or UNIVERSALSTRING and contains an embedded null byte crafting the form 'matchedvalue\0attackervalue'. Limiting factors: the exploit only affects deployments that rely on OTHERNAME SAN matching (not the common DNS/URI/email SAN matchers), and the attacker must first obtain a trusted CA to issue such a malformed certificate - a significant real-world barrier. No end-user interaction is needed. Affected versions are Envoy ≤ 1.33.12, 1.34.0-1.34.10, 1.35.0-1.35.6, and 1.36.0-1.36.2.

Impact

This is a genuine but precondition-gated weakness rather than a mass-exploitable flaw. The CVSS 3.1 vector (CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N, 7.1) reflects network reachability and low complexity, but the description and GHSA advisory make clear the real gate: the attacker must possess a client certificate signed by a trusted CA that contains an embedded null byte inside an OTHERNAME SAN encoded as BMPSTRING/UNIVERSALSTRING. This is a meaningful barrier - the PR:L rating captures that the attacker already holds a (crafted) trusted cert, but obtaining CA issuance of such a malformed identity is non-trivial, arguably justifying higher attack complexity than AC:L. EPSS is 0.00% (0th percentile) and there is no CISA KEV listing, indicating no observed or predicted widespread exploitation. A detailed PoC is published in the vendor GHSA advisory, so publicly available exploit code exists, but POC availability is distinct from active exploitation. The CWE-170 (improper null termination) root cause is well understood and the impact (impersonation of a matched identity to bypass an exact OTHERNAME check) is real for environments that rely specifically on match_typed_subject_alt_names OTHERNAME matching. Net: treat as a MEDIUM real-world priority - patch on normal cadence, prioritized only where OTHERNAME SAN mTLS matching is used.

Exploit ScenarioDerived

An attacker who can obtain a client certificate signed by a CA that Envoy trusts, crafted with an OTHERNAME SAN value like "victim\0evil" (BMPSTRING/UNIVERSALSTRING encoded), presents it to an Envoy instance configured with require_client_certificate and an exact match_typed_subject_alt_names rule of "victim". Envoy truncates the SAN at the null byte during UTF-8 conversion and accepts the certificate as the victim identity, granting unauthorized access to the protected service or API. A working PoC and reproduction steps are published in the vendor GHSA advisory.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv2 – Sep 26, 2026

Identity impersonation in Envoy Proxy (1.33.12 and earlier, 1.34.0-1.34.10, 1.35.0-1.35.6, and 1.36.0-1.36.2) allows a client to be accepted under a different identity when Envoy is configured with require_client_certificate: true and an exact match_typed_subject_alt_names rule against an OTHERNAME SAN. Specifically, a certificate whose OTHERNAME value is encoded as BMPSTRING or UNIVERSALSTRING and carries an embedded null byte (for example 'victim\0evil') is truncated at the null during UTF-8 conversion and therefore matches an exact rule for 'victim', granting the attacker the access rights of that identity. Publicly available exploit code exists and the vendor has released patches, but EPSS is 0.00% and exploitation is gated on the attacker first obtaining a CA-signed certificate from a CA that Envoy trusts, so this is a precondition-heavy issue rather than a mass-exploitable one. Note authentication requirements: the CVSS vector is CVSS:3.1/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N, indicating the attacker must already hold valid credentials (a trusted client certificate).

Earlier versions of this analysis (1)
v1 Mar 15, 2026 - 16:14 CVSS 5.0

RemediationAI

Vendor-released patches fix this issue: upgrade to Envoy Proxy 1.36.3 (from 1.36.0-1.36.2), 1.35.7 (from 1.35.0-1.35.6), 1.34.11 (from 1.34.0-1.34.10), or 1.33.13 (from 1.33.12 and earlier), and consult the upstream advisory at https://github.com/envoyproxy/envoy/security/advisories/GHSA-rwjg-c3h2-f57p for full details; Debian users should track bug #987544 for the packaged fix. Where an immediate upgrade is not possible, the most effective compensating control is to stop relying on exact OTHERNAME match_typed_subject_alt_names rules: remove or replace them with a different SAN matcher type (DNS, URI, or email) where the identity can be expressed that way, or, if OTHERNAME matching must remain, restrict the trusted CA set used for client certificate validation so that only tightly controlled CAs can issue client certificates - the trade-off is reduced flexibility in multi-team or third-party onboarding. Additional hardening is to audit and limit which CAs can mint certificates containing OTHERNAME SANs and to reject certificates with non-conforming OTHERNAME encodings at the CA or an intermediate inspection layer, though this requires certificate-pipeline changes rather than a configuration toggle. Simply setting require_client_certificate to false is not an acceptable substitute, as it removes the authentication control entirely; block nothing at the network layer here, because the weakness is in certificate matching logic, not in reachable ports or endpoints.

Affected VersionsENISA

envoy ≤ 1.33.12
envoy 1.35.0, ≤ 1.35.6
envoy 1.36.0, ≤ 1.36.2
envoy 1.34.0, ≤ 1.34.10

Affected Packages

go github.com/envoyproxy/envoy fix: 1.33.13, 1.34.11, 1.35.7, 1.36.3
euvd envoy no fix

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 2 packages in go, euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The flaw sits in Envoy's mutual-TLS certificate validation path, specifically the matcher backing match_typed_subject_alt_names. X.509 Subject Alternative Names can be typed as DNS, URI, email, IP, or OTHERNAME, and the OTHERNAME value is an ASN.1 structure that in this case is encoded as BMPSTRING (UCS-2) or UNIVERSALSTRING (UCS-4). When Envoy converts such a value to a UTF-8 string for comparison, the intermediate representation is a C-style string whose length is effectively determined by the first null byte rather than by the ASN.1 length field. This is a classic improper null termination / string truncation problem, classified as CWE-170. As a result, the converted value 'victim\0evil' becomes 'victim' before matching, and an exact matcher configured for 'victim' accepts it. The CPE data (cpe:2.3:a:envoyproxy:envoy) confirms Envoy Proxy is the sole affected component; the tracked Debian bug (#987544) reflects downstream packaging exposure. The affected code paths are narrow: they are only reached when OTHERNAME SAN matching is actually configured, which is far less common than DNS, URI, or email SAN matching in typical Envoy mTLS deployments.

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

NVD PRIMARY 7.1 HIGH
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:L/A:N
vuln.today AI 5.9 MEDIUM

Network-facing mTLS, but AC:H because the attacker must get a trusted CA to issue a crafted null-byte OTHERNAME cert; PR:L reflects holding that cert; impersonation grants access (C:H).

3.1 AV:N/AC:H/PR:L/UI:N/S:U/C:H/I:L/A:N
4.0 AV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:L/VA:N/SC:N/SI:N/SA:N
Red Hat 5.0 MEDIUM

Primary rating from NVD.

CVSS VectorNVD

Attack Vector
Network
Attack Complexity
Low
Privileges Required
Low
User Interaction
None
Scope
Unchanged
Confidentiality
High
Integrity
Low
Availability
None

Lifecycle Timeline

6
Severity Changed
Sep 25, 2026 - 23:22 NVD
MEDIUM HIGH
CVSS changed
Sep 25, 2026 - 23:22 NVD
5.0 (MEDIUM) 7.1 (HIGH)
Patch released
Mar 31, 2026 - 21:13 nvd
Patch available
PoC Detected
Dec 05, 2025 - 15:44 vuln.today
Public exploit code
CVE Published
Dec 03, 2025 - 19:15 nvd
HIGH 7.1
CVE Published
Dec 03, 2025 - 19:15 nvd
MEDIUM 5.0

DescriptionNVD

Envoy is a high-performance edge/middle/service proxy. In 1.33.12, 1.34.10, 1.35.6, 1.36.2, and earlier, Envoy’s mTLS certificate matcher for match_typed_subject_alt_names may incorrectly treat certificates containing an embedded null byte (\0) inside an OTHERNAME SAN value as valid matches.

Executive ViewAI

Why It Matters

Organizations using Envoy should be aware of moderate risk from CVE-2025-66220 rated CVSS 5.0. Exploitation could compromise the security of affected deployments. Proof-of-concept code is publicly available. Organizations should apply vendor updates when available and monitor for exploitation.

Business Impact: Low
Compensating Controls

Apply vendor patch. If patching is delayed: restrict network access and enable monitoring.

Threat Intelligence Overview

EPSS Score
0.0%
Top 100% exploitable
Prevalence
High
Envoy is a widely deployed edge/service-mesh proxy (Istio, cloud gateways)
Exploit
POC
Public exploit code exists
Data Quality
6 sources
Confidence: High

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.

SignalValue
Severity HIGH
CISA KEV No
Public POC Yes
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation· derived
Poc
System Exposure· derived
Open
Automatable· derived
No
Human Impact
Low

Priority Score

56
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +36
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Related Vulnerabilities in Envoy Null Pointer and Configuration Handling Flaws

View all 3

More in Envoy

View all
CVE-2023-44487 HIGH POC
7.5 Oct 10

Denial of service against HTTP/2 server implementations allows remote unauthenticated attackers to exhaust server resour

CVE-2026-111497 CRITICAL POC
9.2 Oct 21

Remote code execution is possible in Node.js releases that bundle a vulnerable Brotli decoder: a malformed brotli-compre

CVE-2023-27488 CRITICAL POC
9.8 Apr 04

Envoy is an open source edge and service proxy designed for cloud-native applications. Rated critical severity (CVSS 9.8

CVE-2019-18802 CRITICAL POC
9.8 Dec 13

An issue was discovered in Envoy 1.12.0. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable,

CVE-2019-18801 CRITICAL POC
9.8 Dec 13

An issue was discovered in Envoy 1.12.0. Rated critical severity (CVSS 9.8), this vulnerability is remotely exploitable,

CVE-2023-27493 CRITICAL POC
9.1 Apr 04

Envoy is an open source edge and service proxy designed for cloud-native applications. Rated critical severity (CVSS 9.1

CVE-2023-27491 CRITICAL POC
9.1 Apr 04

Envoy is an open source edge and service proxy designed for cloud-native applications. Rated critical severity (CVSS 9.1

CVE-2023-27487 CRITICAL POC
9.1 Apr 04

Envoy is an open source edge and service proxy designed for cloud-native applications. Rated critical severity (CVSS 9.1

CVE-2020-25017 HIGH POC
8.3 Oct 01

Envoy through 1.15.0 only considers the first value when multiple header values are present for some HTTP headers. Rated

CVE-2019-9900 HIGH POC
8.3 Apr 25

When parsing HTTP/1.x header values, Envoy 1.9.0 and before does not reject embedded zero characters (NUL, ASCII 0x0). R

CVE-2026-26308 HIGH POC
7.5 Mar 10

Envoy's RBAC filter improperly concatenates duplicate HTTP headers into comma-separated strings instead of validating ea

CVE-2024-53270 HIGH POC
7.5 Dec 18

Envoy is a cloud-native high-performance edge/middle/service proxy. Rated high severity (CVSS 7.5), this vulnerability i

Vendor StatusVendor

Debian

Bug #987544
envoyproxy
Release Status Fixed Version Urgency
open - -

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy