Skip to main content
← All vulnerabilities
CVE-2026-73546

Envoy: Stored XSS in Admin Stats Interface (/stats?format=html)

Published
Last modified
published
Not listed in CISA KEV
Fix
Fixed in 1.36.10, 1.37.6, 1.38.4, 1.39.1
None on Exploit-DB, Metasploit or GitHub
  • Exploitation: poc
  • Automatable: no
  • Technical impact: total

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.

Timeline

  1. CVE published
  2. CISA SSVC assessment

    Exploitation: poc · Automatable: no · Technical impact: total

  3. Record last updated

Affected versions

  • envoyproxy envoy

    fixed in 1.36.10; From 1.37.0 · fixed in 1.37.6; From 1.38.0 · fixed in 1.38.4; From 1.39.0 · fixed in 1.39.1

References 9

GitHub · envoyproxy/envoy