CVE-2026-44903 json
Prometheus: Stored XSS via crafted histogram bucket label values in the heatmap display of the old Prometheus web UI
published 2026-05-05 6 mo ago modified 2026-09-10 1 mo ago also BIT-prometheus-2026-44903 , EUVD-2026-32008 , GHSA-fw8g-cg8f-9j28 , GO-2026-5381
- cvss
- 6.1
- version 3.1, NVD
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.2%
- EPSS 0.2% chance of exploitation in 30 days, percentile 10%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- go github.com/prometheus/prometheus 0.311.3
- bitnami prometheus 0.305.3, 0.311.3, 3.5.3, 3.11.3
- prometheus prometheus 0.305.3, 0.311.3, 3.5.3, 3.11.3
- prometheus Debian 14 3.5.3+ds1-1
debian advisories DEBIAN-CVE-2026-44903
- govulncheck-vulndb openSUSE Leap 16.0 0.0.20260723T184607-160000.1.1
opensuse advisories openSUSE-SU-2026:21483-1
CISA SSVC
- Exploitation
- none
- Automatable
- no
- Technical impact
- partial
- Assessed
- 5 mo ago
Exploit prediction
0.20% chance of exploitation in the next 30 days, higher than 10% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 4.0 | 5.1 | 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 |
| GitHub | 3.1 | 6.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
| CNA | 4.0 | 5.1 | 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/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X |
| NVD | 3.1 | 6.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| go | github.com/prometheus/prometheus | <0.311.3 |
0.311.3 |
| bitnami | prometheus | <0.305.3 >=0.306.0, <0.311.3 >=2.49.0, <3.5.3 >=3.6.0, <3.11.3 |
0.305.3 0.311.3 3.5.3 3.11.3 |
Affected products
- prometheus prometheus
Classification
- Weakness
-
- CWE-79 Improper Neutralization of Input During Web Page Generation
References
-
github.com
/prometheus/prometheus/commit/38f23b9075ced1de2b82d2dad8b2bebb1ecd5b7d
web, patch
-
github.com
/prometheus/prometheus/security/advisories/GHSA-fw8g-cg8f-9j28
web, mitigation, patch, vendor-advisory, advisory
-
nvd.nist.gov
/vuln/detail/CVE-2026-44903
advisory, web
-
github.com
/prometheus/prometheus
package
Sources
- CVE List CVE-2026-44903
- GitHub Advisory GHSA-fw8g-cg8f-9j28
- NVD CVE-2026-44903
- OSV BIT-prometheus-2026-44903
- OSV GO-2026-5381
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.
CPEs and fixed versions use Anchore's correction of NVD's data: Support weird prometheus go-module version nonsense.