Description
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.
Published: 2026-09-21
Score: 7.4 High
EPSS: < 1% Very Low
KEV: No
Impact: Stored Cross‑Site Scripting
Action: Immediate Patch
AI Analysis

Impact

Envoy's /stats?format=html admin endpoint uses StatsHtmlRender which sanitizes 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.

Affected Systems

The vulnerability impacts the Envoy open‑source edge and service proxy. Statistic names were unescaped in the /stats?format=html admin endpoint in all releases prior to 1.36.10, 1.37.6, 1.38.4, and 1.39.1. Therefore any Envoy deployment using an earlier version that exposes the admin UI is vulnerable until an updated release is applied.

Risk and Exploitability

The CVSS score of 7.4 describes a high‑severity flaw that allows stored cross‑site scripting through unescaped statistic names. Although no EPSS score is published and the vulnerability is not listed in CISA KEV, the impact remains significant. The flaw requires that the adversary be able to influence the creation of statistic names via a data‑plane component – for example, grpc_stats with stats_for_all_methods enabled – and that the affected Statistics page be rendered in a browser by an administrator. When the stats page is displayed, the malicious script runs with the same origin as the admin UI and can perform privileged same‑origin requests or steal session information.

Generated by OpenCVE AI on September 21, 2026 at 21:53 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Update Envoy to the latest release that contains the vendor patch for this XSS flaw.
  • Limit access to the Envoy admin interface to a secure, authenticated network or enforce strict IP filtering.
  • Configure a robust Content Security Policy header on the admin UI to prevent script execution.
  • If a patch is not yet available, disable or restrict the dynamic generation of stat names in the admin configuration to eliminate the injection surface.

Generated by OpenCVE AI on September 21, 2026 at 21:53 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Mon, 05 Oct 2026 14:00:00 +0000

Type Values Removed Values Added
CPEs cpe:2.3:a:envoyproxy:envoy:*:*:*:*:*:*:*:*

Mon, 21 Sep 2026 21:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Mon, 21 Sep 2026 20:00:00 +0000

Type Values Removed Values Added
Description No description is available for this CVE. 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.
Title envoy: envoy: stored XSS through dynamically generated stat names in admin interface Envoy: Stored XSS in Admin Stats Interface (/stats?format=html)
References

Wed, 02 Sep 2026 22:15:00 +0000

Type Values Removed Values Added
First Time appeared Envoyproxy
Envoyproxy envoy
Vendors & Products Envoyproxy
Envoyproxy envoy

Tue, 01 Sep 2026 12:15:00 +0000

Type Values Removed Values Added
Description No description is available for this CVE.
Title envoy: envoy: stored XSS through dynamically generated stat names in admin interface
Weaknesses CWE-79
References
Metrics threat_severity

None

cvssV3_1

{'score': 7.4, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N'}

threat_severity

Important


Subscriptions

Envoyproxy Envoy
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-09-21T20:07:34.119Z

Reserved: 2026-08-12T20:53:46.379Z

Link: CVE-2026-73546

cve-icon Vulnrichment

Updated: 2026-09-21T20:07:26.195Z

cve-icon NVD

Status : Analyzed

Published: 2026-09-21T20:17:28.040

Modified: 2026-10-05T13:40:45.403

Link: CVE-2026-73546

cve-icon Redhat

Severity : Important

Publid Date: 2026-08-26T13:00:00Z

Links: CVE-2026-73546 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-09-21T22:00:10Z

Weaknesses
  • CWE-79

    Improper Neutralization of Input During Web Page Generation ('Cross-site Scripting')