Envoy: Stored XSS in Admin Stats Interface (/stats?format=html)
Envoy is an open source edge and service proxy designed for cloud-native applications. Prior to 1.36.10, 1.37.6, 1.38.4, and 1.39.1, Envoy's /stats?format=html admin endpoint uses StatsHtmlRender, which sanitizes string statistic values but emits statistic names without HTML encoding. A data-plane component such as grpc_stats with stats_for_all_methods enabled can incorporate attacker-controlled path segments into cached dynamic statistic names. When an operator views the HTML stats page, the stored name can execute script with the admin interface's origin and issue privileged same-origin requests. The relevant scope boundary is that the admin interface must be browser-accessible and an enabled component must persist attacker-influenced text in statistic names. This issue is fixed in versions 1.36.10, 1.37.6, 1.38.4, and 1.39.1.
- Products
- envoy
- Affected versions
- Not specified
- Fixed versions
- 1.36.10, 1.37.6, 1.38.4, 1.39.1
- CVEs
- CVE-2026-73546
- Confirmed fixed CVEs
- Not specified
- Updated in this feed
- 27 Oct 2026, 11:22 UTC · Revision 1
Source evidence
Envoy: Stored XSS in Admin Stats Interface (/stats?format=html)
core-osv · Original sourcePublished 29 Sept 2026, 08:43 UTC
Envoy is an open source edge and service proxy designed for cloud-native applications. Prior to 1.36.10, 1.37.6, 1.38.4, and 1.39.1, Envoy's /stats?format=html admin endpoint uses StatsHtmlRender, which sanitizes string statistic values but emits statistic names without HTML encoding. A data-plane component such as grpc_stats with stats_for_all_methods enabled can incorporate attacker-controlled path segments into cached dynamic statistic names. When an operator views the HTML stats page, the stored name can execute script with the admin interface's origin and issue privileged same-origin requests. The relevant scope boundary is that the admin interface must be browser-accessible and an enabled component must persist attacker-influenced text in statistic names. This issue is fixed in versions 1.36.10, 1.37.6, 1.38.4, and 1.39.1.
osv:BIT-envoy-2026-73546
envoy
Fixed versions: 1.36.10, 1.37.6, 1.38.4, 1.39.1
Complete source record
{
"id": "71df9843d0304a0296862929c49a8300a5066c3562d6869ac3d4bdec02ca3313",
"url": "https://osv.dev/vulnerability/BIT-envoy-2026-73546",
"method": "structured",
"payload": {
"kind": "advisory",
"title": "Envoy: Stored XSS in Admin Stats Interface (/stats?format=html)",
"summary": "Envoy is an open source edge and service proxy designed for cloud-native applications. Prior to 1.36.10, 1.37.6, 1.38.4, and 1.39.1, Envoy's /stats?format=html admin endpoint uses StatsHtmlRender, which sanitizes string statistic values but emits statistic names without HTML encoding. A data-plane component such as grpc_stats with stats_for_all_methods enabled can incorporate attacker-controlled path segments into cached dynamic statistic names. When an operator views the HTML stats page, the stored name can execute script with the admin interface's origin and issue privileged same-origin requests. The relevant scope boundary is that the admin interface must be browser-accessible and an enabled component must persist attacker-influenced text in statistic names. This issue is fixed in versions 1.36.10, 1.37.6, 1.38.4, and 1.39.1.",
"evidence": "osv:BIT-envoy-2026-73546",
"products": [
{
"name": {
"value": "envoy",
"evidence": "/affected/0/package/name"
},
"prerequisites": [],
"fixed_versions": [
{
"value": "1.36.10",
"evidence": "/affected/0/ranges"
},
{
"value": "1.37.6",
"evidence": "/affected/0/ranges"
},
{
"value": "1.38.4",
"evidence": "/affected/0/ranges"
},
{
"value": "1.39.1",
"evidence": "/affected/0/ranges"
}
],
"affected_versions": []
}
],
"severity": "high",
"structured": {
"id": "BIT-envoy-2026-73546",
"aliases": [
"BIT-envoy-2026-73546",
"CVE-2026-73546",
"GHSA-pv9h-4fxf-7vrg"
],
"affected": [
{
"ranges": [
{
"type": "SEMVER",
"events": [
{
"introduced": "0"
},
{
"fixed": "1.36.10"
},
{
"introduced": "1.37.0"
},
{
"fixed": "1.37.6"
},
{
"introduced": "1.38.0"
},
{
"fixed": "1.38.4"
},
{
"introduced": "1.39.0"
},
{
"fixed": "1.39.1"
}
]
}
],
"package": {
"name": "envoy",
"purl": "pkg:bitnami/envoy",
"ecosystem": "Bitnami"
},
"severity": [
{
"type": "CVSS_V3",
"score": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N"
}
],
"database_specific": {
"source": "https://github.com/bitnami/vulndb/tree/main/data/envoy/BIT-envoy-2026-73546.json"
}
}
],
"modified": "2026-10-06T15:15:04.683015332Z",
"provider": "osv",
"references": [
"https://github.com/envoyproxy/envoy/commit/11d34660ca0322eb125d045a564d9d87f016397f",
"https://github.com/envoyproxy/envoy/commit/884d30c56b835d5801733ae1dc38c94a08de23e8",
"https://github.com/envoyproxy/envoy/commit/9484e17c34353662f9bfd30c74f61fa8c9ee7b83",
"https://github.com/envoyproxy/envoy/commit/ab63a0e52b5a28472f2ff865b6464ae4004f7593",
"https://github.com/envoyproxy/envoy/releases/tag/v1.36.10",
"https://github.com/envoyproxy/envoy/releases/tag/v1.37.6",
"https://github.com/envoyproxy/envoy/releases/tag/v1.38.4",
"https://github.com/envoyproxy/envoy/releases/tag/v1.39.1",
"https://github.com/envoyproxy/envoy/security/advisories/GHSA-pv9h-4fxf-7vrg",
"https://nvd.nist.gov/vuln/detail/CVE-2026-73546"
],
"provider_metadata": {
"cpes": [
"cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:*"
],
"severity": "High"
}
},
"related_cves": [
{
"value": "CVE-2026-73546",
"evidence": "/aliases"
}
],
"security_relevant": true,
"severity_evidence": "/database_specific/severity"
},
"source_id": "core-osv",
"document_id": 89117,
"published_at": "2026-09-29T08:43:09.282+00:00"
}