Prometheus
CVE-2026-44903
MEDIUM
Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessGain metric injection access (scrape target or write receiver)
-
DeliveryCraft histogram metric with malicious `le` label containing JavaScript payload
-
ExploitPrometheus scrapes/ingests and stores poisoned metric
-
ExecutionVictim opens heatmap chart for affected metric in legacy UI
-
PersistUnescaped `le` value renders as HTML in axis tick
-
ImpactBrowser executes attacker JavaScript
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A05:2025 - Injection
ASVS 5.0
V1 - Encoding and Sanitization Output encoding, context-aware escaping
MITRE ATT&CK
2 techniques across 2 tactics: Initial Access, Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The primary hard requirement is that the Prometheus server must be started with the explicit command-line flag |
| Impact | The CVSS 4.0 score of 5.1 (Medium) accurately reflects the constrained real-world impact. The vector AV:N/AC:L/AT:N/PR:L/UI:P indicates the attack is network-reachable with low complexity and no special attack requirements, but demands low-privileged attacker access to inject metrics (PR:L) and requires victim interaction (UI:P) to view the heatmap. The scope impact is limited - VC:N/VI:N/VA:N on the vulnerable system itself, with only SC:L/SI:L on the subsequent (browser) context, consistent with XSS that cannot directly exfiltrate server secrets but can read partially redacted config, trigger admin API actions, or exfiltrate metric data. The critical limiting factor is the |
| Exploit ScenarioDerived | An attacker with access to a Prometheus scrape target or remote write endpoint crafts a histogram metric with a malicious |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – May 27, 2026
Stored cross-site scripting in Prometheus versions 2.49.0 through 3.5.2/3.11.2 allows a low-privileged attacker who can inject crafted histogram metrics to execute arbitrary JavaScript in the browser of any user who views the affected metric in the legacy heatmap chart UI. Exploitation requires the non-default --enable-feature=old-ui flag to be set and the victim to navigate to the specific heatmap view. No public exploit code has been identified at time of analysis, but the vulnerability is technically straightforward - a missing escapeHTML() call on le label values rendered as axis tick labels in Graph.tsx. This is the third stored DOM XSS in Prometheus's web UI in recent years, following CVE-2019-10215 and CVE-2026-40179.
RemediationAI
Upgrade Prometheus to version 3.5.3 or 3.11.3, which contain the fix confirmed in commit 38f23b9075ced1de2b82d2dad8b2bebb1ecd5b7d (https://github.com/prometheus/prometheus/commit/38f23b9075ced1de2b82d2dad8b2bebb1ecd5b7d). The patch adds escapeHTML() around the le label value in the heatmap tick formatter and fully resolves the vulnerability. If upgrading immediately is not possible, the most effective workaround is removing the --enable-feature=old-ui command-line flag - this disables the vulnerable code path entirely with no monitoring functionality loss since the modern UI is the default. If the legacy UI cannot be disabled, apply the following compensating controls: restrict or disable the remote write receiver (--web.enable-remote-write-receiver) and OTLP receiver (--web.enable-otlp-receiver) if not required, as these are primary external injection vectors; audit and confirm all scrape targets are trusted and not under adversarial control; do not enable --web.enable-admin-api or --web.enable-lifecycle if untrusted metric sources are present, as XSS could be used to invoke those endpoints. Note that scrape target trust is an operational control - network-level restrictions or allowlisting may be required to enforce it reliably.
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in go
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Prometheus (cpe:2.3:a:prometheus:prometheus:*:*:*:*:*:*:*:*) is a Go-based monitoring platform with a React frontend. The legacy web UI, re-enabled via --enable-feature=old-ui, renders histogram heatmap charts using Flot. In web/ui/react-app/src/pages/graph/Graph.tsx, the yaxis.tickFormatter callback directly interpolated data[val - 1].labels.le - the upper-bound label of histogram buckets - into the DOM as raw HTML without sanitization. CWE-79 (Improper Neutralization of Input During Web Page Generation) is the root cause: user-controlled data flows from ingested metric labels through storage into an HTML rendering context with no escaping applied. The fix (commit 38f23b9075ced1de2b82d2dad8b2bebb1ecd5b7d) wraps the value with the existing escapeHTML() utility already present in the codebase. Metric label values enter Prometheus via scrape targets, the remote write receiver (--web.enable-remote-write-receiver), or the OTLP receiver (--web.enable-otlp-receiver), making this a stored XSS with multiple injection vectors.
Know when Prometheus 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
CVSS:4.0/AV:N/AC:L/AT:N/PR:L/UI:P/VC:N/VI:N/VA:N/SC:L/SI:L/SA:N
AV:N/AC:L/PR:L/UI:R/S:U/C:N/I:L/A:L
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
2DescriptionCVE.org
Prometheus is an open-source monitoring system and time series database. From 2.49.0 to before 3.5.3 and 3.11.3, in the Prometheus server's legacy web UI (enabled via the command-line flag --enable-feature=old-ui), the histogram heatmap chart view does not escape le label values when inserting them into the HTML for use as axis tick mark labels. An attacker who can inject crafted metrics can execute JavaScript in the browser of any Prometheus user who views the metric in the heatmap chart UI. This vulnerability is fixed in 3.5.3 and 3.11.3.
Threat Intelligence Overview
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.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Cross-Site Scripting occurs when an application accepts untrusted data and sends it to a web browser without proper validation or encoding.
Affected Products (CPE)CVE.org
More in Prometheus
View allPrometheus Exporter Toolkit is a utility package to build exporters. Rated high severity (CVSS 8.8), this vulnerability
Unsafe PHP deserialization in openITCOCKPIT Community Edition 5.3.1 and earlier allows authenticated attackers to inject
Remote code execution in openITCOCKPIT 5.3.1 and earlier via unsafe deserialization in the Gearman worker component, whi
Memory exhaustion in Prometheus remote read endpoint allows unauthenticated attackers to crash the monitoring server via
Prometheus monitoring system exposes Azure AD OAuth client secrets in plaintext via its /-/config HTTP API endpoint. Ver
Prometheus is an open-source monitoring system and time series database. Rated medium severity (CVSS 6.1), this vulnerab
Prometheus Blackbox Exporter through 0.17.0 allows /probe?target= SSRF. Rated medium severity (CVSS 5.8), this vulnerabi
blackbox_exporter v0.23.0 was discovered to contain an access control issue in its probe interface. Rated high severity
Scraparr versions 3.0.0-beta through 3.0.1 expose Readarr API keys in plaintext through the /metrics endpoint when the R
Denial of Service in Prometheus and Kibana metricsets can be triggered by sending specially crafted malformed payloads t
Prometheus through 3.15.1 can expose Azure AD or Google IAM bearer tokens when remote_write follows an HTTP 3xx redirect
A stored, DOM based, cross-site scripting (XSS) flaw was found in Prometheus before version 2.7.1. Rated medium severity
Same weakness CWE-79 – Cross-site Scripting (XSS)
View allVendor StatusVendor
SUSE
Severity: Medium| Product | Status |
|---|---|
| SUSE Linux Enterprise Module for Package Hub 15 SP7 | Fixed |
| SUSE Linux Enterprise Server 16.0 | Fixed |
| SUSE Linux Enterprise Server for SAP applications 16.0 | Fixed |
| SUSE Manager Client Tools 15 | Fixed |
| SUSE Manager Client Tools for SLE 15 | Fixed |
| SUSE Multi-Linux Manager Client Tools for SLE 15 | Fixed |
| openSUSE Leap 16.0 | Fixed |
| SUSE Manager Proxy LTS 4.3 | Fixed |
| SUSE Manager Proxy Module 4.3 | Fixed |
| SUSE Enterprise Storage 6 | Fixed |
| SUSE Linux Enterprise Module for Package Hub 15 SP5 | Fixed |
| SUSE Linux Enterprise Module for Package Hub 15 SP6 | Fixed |
| SUSE Manager Proxy Module 4.1 | Fixed |
| SUSE Manager Proxy Module 4.2 | Fixed |
| openSUSE Leap 15.3 | Fixed |
| openSUSE Leap 15.4 | Fixed |
| openSUSE Leap 15.5 | Fixed |
| openSUSE Leap 15.6 | Fixed |
| SUSE Multi Linux Manager Tools SLE-15 | Fixed |
| ses/7.1/ceph/prometheus-server ses/7/ceph/prometheus-server suse/multi-linux-manager/5.2/x86_64/monitoring-prometheus | Fixed |
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB