Envoy: Embedded NUL in TLS DNS SAN Truncation in the Default TLS Certificate Validator. (Auth Bypass) (envoyproxy envoy)

CVE-2026-47778
MEDIUM 4.4

At a glance

Source
NVD
EPSS
EPSS 0.21 % Β· percentile 12 ()
State
PUBLISHED
Published
Updated
Assigner
GitHub_M
NVD status
Analyzed

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.

Weaknesses (CWE)

  • CWE-158 β€” Improper Neutralization of Null Byte or NUL Character

References

Scores

VersionScoreVectorScored by
CVSS 3.1MEDIUM 4.4CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:NGitHub_M
CVSS 3.1MEDIUM 4.4CVSS:3.1/AV:N/AC:H/PR:H/UI:N/S:U/C:H/I:N/A:NNVD Β· security-advisories@github.com (Secondary)

European references

Affected configurations (NVD CPE)

Affected products

ProductVersions
envoyproxy Β· envoyaffected >= 1.38.0, < 1.38.1 ; affected >= 1.37.0, < 1.37.3 ; affected >= 1.36.0, < 1.36.7 ; affected < 1.35.11

Sources

SourceLicence
CVE List (CVEProject cvelistV5)CVE Program Terms of Use
EPSS (FIRST.org)FIRST β€” attribution requested
ENISA EUVDENISA β€” reproduction authorised, source acknowledged
NVD (NIST) via fkie-cad/nvd-json-data-feedsPublic domain β€” this product uses data from the NVD API but is not endorsed or certified by the NVD