Skip to content
OpenAdvisories
Medium · 5.3 Public exploit CVE-2026-40179 BIT-prometheus-2026-40179EUVD-2026-23123GHSA-vffh-x6r8-xx99GO-2026-5662

Prometheus: Stored XSS via metric names and label values in web UI tooltips and metrics explorer

Published Apr 15, 2026 · Updated Apr 16, 2026 · Assigned by GitHub_M

Vendor: prometheus Product: prometheus Package: aws-otel-collector Package: certificate-transparency-trillian-ctserver Package: cloud-sql-proxy-2.16 Package: cloud-sql-proxy-2.21 Package: cloud-sql-proxy-2.22 Package: cortex Package: datadog-agent-7.72-full Package: datadog-agent-7.73-full Package: datadog-agent-7.78 Package: datadog-agent-7.78-full Package: datadog-agent-7.79 Package: datadog-agent-7.79-full Package: datadog-cluster-agent-7.78 Package: datadog-cluster-agent-7.79 Package: github.com/prometheus/prometheus Package: grafana-pyroscope-2.0 Package: istio-install-cni-1.30-compat Package: istio-pilot-discovery-1.29 Package: istio-pilot-discovery-1.30 Package: istioctl-1.29 Package: istioctl-1.30 Package: jaeger-2-jaeger Package: karma Package: keda-2.19 Package: keda-2.19-metrics-apiserver Package: keda-2.20 Package: keda-2.20-metrics-apiserver Package: loki-3.7 Package: loki-3.7-logcli Package: loki-3.7-loki-canary Package: mc Package: mcp-grafana Package: minio Package: minio-object-browser Package: minio-operator Package: minio-operator-sidecar Package: opentelemetry-operator Package: prometheus Package: prometheus Package: prometheus-3.10 Package: prometheus-3.8 Package: prometheus-3.9 Package: prometheus-pushgateway Package: splunk-otel-collector Package: telegraf-1.38 Package: tempo-2.10 Package: tempo-2.10-cli Package: tempo-2.10-vulture Package: tempo-3.0 Package: tempo-3.0-cli Package: tempo-3.0-vulture Package: thanos Package: trillian-logserver Package: trillian-logsigner Ecosystem: Alpine Ecosystem: Go Ecosystem: Ubuntu Ecosystem: Wolfi

Description

Prometheus is an open-source monitoring system and time series database. Versions 3.0 through 3.5.1 and 3.6.0 through 3.11.1 have stored cross-site scripting vulnerabilities in multiple components of the Prometheus web UI where metric names and label values are injected into innerHTML without escaping. In both the Mantine UI and old React UI, chart tooltips on the Graph page render metric names containing HTML/JavaScript without sanitization. In the old React UI, the Metric Explorer fuzzy search results use dangerouslySetInnerHTML without escaping, and heatmap cell tooltips interpolate le label values without sanitization. With Prometheus v3.x defaulting to UTF-8 metric and label name validation, characters like <, >, and " are now valid in metric names and labels. An attacker who can inject metrics via a compromised scrape target, remote write, or OTLP receiver endpoint can execute arbitrary JavaScript in the browser of any Prometheus user who views the metric in the Graph UI, potentially enabling configuration exfiltration, data deletion, or Prometheus shutdown depending on enabled flags. This issue has been fixed in versions 3.5.2 and 3.11.2. If developers are unable to immediately update, the following workarounds are recommended: ensure that the remote write receiver (--web.enable-remote-write-receiver) and the OTLP receiver (--web.enable-otlp-receiver) are not exposed to untrusted sources; verify that all scrape targets are trusted and not under attacker control; avoid enabling admin or mutating API endpoints (e.g., --web.enable-admin-api or --web.enable-lifecycle) in environments where untrusted data may be ingested; and refrain from clicking untrusted links, particularly those containing functions such as label_replace, as they may generate poisoned label names and values.

Affected products

VendorProductAffectedFixed
prometheus prometheus >= 3.0.0, < 3.5.2, >= 3.6.0, < 3.11.2, < 0.311.2-0.20260410083055-07c6232d159b —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Ubuntu 26.10 prometheus No fix yet —
Ubuntu 25.10 prometheus No fix yet —
Ubuntu 20.04 LTS prometheus No fix yet —
Ubuntu 18.04 LTS prometheus No fix yet —
Ubuntu 16.04 LTS prometheus No fix yet —
Show 3 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro 26.04 LTS prometheus No fix yet —
Ubuntu Pro 24.04 LTS prometheus No fix yet —
Ubuntu Pro 22.04 LTS prometheus No fix yet —
ReleasePackageFixed inAdvisory
SUSE Multi Linux Manager Tools SLE-Micro-5 dracut-saltboot 1.2.1-150002.3.9.1 SUSE-SU-2026:2768-1
SUSE Multi Linux Manager Tools SLE-Micro-5 golang-github-prometheus-node_exporter 1.10.2-150002.3.6.2 SUSE-SU-2026:2768-1
SUSE Multi Linux Manager Tools SLE-Micro-5 uyuni-tools 5.2.12-150002.3.17.1 SUSE-SU-2026:2768-1
SUSE Multi Linux Manager Tools SLE-15 dracut-saltboot 1.2.1-150002.3.9.1 SUSE-SU-2026:2768-1
SUSE Multi Linux Manager Tools SLE-15 golang-github-QubitProducts-exporter_exporter 0.4.0-150002.3.6.2 SUSE-SU-2026:2768-1
SUSE Multi Linux Manager Tools SLE-15 golang-github-boynux-squid_exporter 1.13.0-150002.3.6.2 SUSE-SU-2026:2768-1
SUSE Multi Linux Manager Tools SLE-15 golang-github-lusitaniae-apache_exporter 1.0.10-150002.3.9.2 SUSE-SU-2026:2768-1
SUSE Multi Linux Manager Tools SLE-15 golang-github-prometheus-alertmanager 0.28.1-150002.4.11.1 SUSE-SU-2026:2768-1
SUSE Multi Linux Manager Tools SLE-15 golang-github-prometheus-node_exporter 1.10.2-150002.3.6.2 SUSE-SU-2026:2768-1
SUSE Multi Linux Manager Tools SLE-15 golang-github-prometheus-prometheus 3.5.3-150002.3.13.1 SUSE-SU-2026:2768-1
SUSE Multi Linux Manager Tools SLE-15 grafana 11.6.14+security04-150002.4.21.1 SUSE-SU-2026:2768-1
SUSE Multi Linux Manager Tools SLE-15 mgr-push 5.2.4-150002.3.9.1 SUSE-SU-2026:2768-1
SUSE Multi Linux Manager Tools SLE-15 prometheus-blackbox_exporter 0.26.0-150002.3.11.1 SUSE-SU-2026:2768-1
SUSE Multi Linux Manager Tools SLE-15 prometheus-postgres_exporter 0.10.1-150002.3.3.2 SUSE-SU-2026:2768-1
SUSE Multi Linux Manager Tools SLE-15 python-defusedxml-sle15 0.7.1-150002.1.3.1 SUSE-SU-2026:2768-1
SUSE Multi Linux Manager Tools SLE-15 rhnlib 5.2.5-150002.3.9.1 SUSE-SU-2026:2768-1
SUSE Multi Linux Manager Tools SLE-15 spacecmd 5.2.8-150002.3.12.1 SUSE-SU-2026:2768-1
SUSE Multi Linux Manager Tools SLE-15 spacewalk-client-tools 5.2.6-150002.3.9.1 SUSE-SU-2026:2768-1
SUSE Multi Linux Manager Tools SLE-15 supportutils-plugin-salt 1.2.3-150002.3.3.1 SUSE-SU-2026:2768-1
SUSE Multi Linux Manager Tools SLE-15 supportutils-plugin-susemanager-client 5.2.3-150002.3.9.1 SUSE-SU-2026:2768-1
SUSE Multi Linux Manager Tools SLE-15 uyuni-common-libs 5.2.5-150002.3.6.1 SUSE-SU-2026:2768-1
SUSE Multi Linux Manager Tools SLE-15 uyuni-tools 5.2.12-150002.3.17.1 SUSE-SU-2026:2768-1
SUSE Multi-Linux Manager Server Extension for SLE 5.1 suse-multi-linux-manager-5.1-s390x-server-attestation-image +3 5.1.4-8.22.10 SUSE-SU-2026:2774-1
SUSE Multi-Linux Manager Server Extension for SLE 5.1 suse-multi-linux-manager-5.1-s390x-server-hub-xmlrpc-api-image +3 5.1.4-8.20.12 SUSE-SU-2026:2774-1
SUSE Multi-Linux Manager Server Extension for SLE 5.1 suse-multi-linux-manager-5.1-s390x-server-image +3 5.1.4-8.20.34 SUSE-SU-2026:2774-1
SUSE Multi-Linux Manager Server Extension for SLE 5.1 suse-multi-linux-manager-5.1-s390x-server-migration-14-16-image +3 5.1.4-8.20.13 SUSE-SU-2026:2774-1
SUSE Multi-Linux Manager Server Extension for SLE 5.1 suse-multi-linux-manager-5.1-s390x-server-postgresql-image +3 5.1.4-6.24.3 SUSE-SU-2026:2774-1
SUSE Multi-Linux Manager Server Extension for SLE 5.1 suse-multi-linux-manager-5.1-s390x-server-saline-image +3 5.1.4-9.20.24 SUSE-SU-2026:2774-1
SUSE Multi-Linux Manager Server Extension for SLE 5.1 uyuni-tools 5.1.29-150700.3.26.1 SUSE-SU-2026:2774-1
Show 1 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SUSE Multi-Linux Manager Proxy Extension for SLE 5.1 suse-multi-linux-manager-5.1-s390x-proxy-httpd-image +3 5.1.4-8.22.22 SUSE-SU-2026:2774-1
SUSE Multi-Linux Manager Proxy Extension for SLE 5.1 suse-multi-linux-manager-5.1-s390x-proxy-salt-broker-image +3 5.1.4-9.20.25 SUSE-SU-2026:2774-1
SUSE Multi-Linux Manager Proxy Extension for SLE 5.1 suse-multi-linux-manager-5.1-s390x-proxy-squid-image +3 5.1.4-8.20.11 SUSE-SU-2026:2774-1
SUSE Multi-Linux Manager Proxy Extension for SLE 5.1 suse-multi-linux-manager-5.1-s390x-proxy-ssh-image +3 5.1.4-8.20.12 SUSE-SU-2026:2774-1
SUSE Multi-Linux Manager Proxy Extension for SLE 5.1 suse-multi-linux-manager-5.1-s390x-proxy-tftpd-image +3 5.1.4-8.20.13 SUSE-SU-2026:2774-1
SUSE Multi-Linux Manager Proxy Extension for SLE 5.1 uyuni-tools 5.1.29-150700.3.26.1 SUSE-SU-2026:2774-1
ReleasePackageFixed inAdvisory
openSUSE Tumbleweed golang-github-prometheus-prometheus 3.11.2-1.1 openSUSE-SU-2026:10607-1
openSUSE Leap 16.0 govulncheck-vulndb 0.0.20260723T184607-160000.1.1 openSUSE-SU-2026:21483-1
ReleasePackageFixed inAdvisory
Alpine v3.24 prometheus 3.5.3-r0 —
Alpine v3.23 prometheus 3.5.3-r0 —

Wolfi

ReleasePackageFixed inAdvisory
Wolfi rolling aws-otel-collector 0.49.0-r0 —
Wolfi rolling certificate-transparency-trillian-ctserver 1.3.3-r6 —
Wolfi rolling cloud-sql-proxy-2.16 2.16.0-r19 —
Wolfi rolling cloud-sql-proxy-2.21 2.21.2-r2 —
Wolfi rolling cloud-sql-proxy-2.22 2.22.1-r0 —
Wolfi rolling cortex +6 No fix yet —
Wolfi rolling datadog-agent-7.78 +2 7.78.4-r3 —
Wolfi rolling datadog-agent-7.79 +2 7.79.2-r8 —
Wolfi rolling grafana-pyroscope-2.0 2.0.5-r0 —
Wolfi rolling istio-install-cni-1.30-compat 1.30.4-r2 —
Wolfi rolling istioctl-1.29 +1 1.29.2-r1 —
Wolfi rolling istioctl-1.30 +1 1.30.2-r0 —
Wolfi rolling jaeger-2-jaeger 2.17.0-r6 —
Wolfi rolling karma 0.129-r1 —
Wolfi rolling keda-2.19 +1 2.19.0-r15 —
Wolfi rolling keda-2.20 +1 2.20.1-r1 —
Wolfi rolling loki-3.7 +2 3.7.2-r0 —
Wolfi rolling mc 0.20250813.083541-r10 —
Wolfi rolling mcp-grafana 0.11.6-r1 —
Wolfi rolling minio 0.20260410.215259-r1 —
Wolfi rolling minio-object-browser 2.0.4-r11 —
Wolfi rolling minio-operator +1 7.1.1-r19 —
Wolfi rolling opentelemetry-operator 0.149.0-r0 —
Wolfi rolling prometheus-pushgateway 1.11.2-r9 —
Wolfi rolling splunk-otel-collector 0.150.0-r0 —
Wolfi rolling telegraf-1.38 1.38.2-r3 —
Wolfi rolling tempo-2.10 +2 2.10.6-r0 —
Wolfi rolling tempo-3.0 +2 3.0.2-r0 —
Wolfi rolling trillian-logserver +1 1.7.3-r4 —

Public exploits

Exploit or proof-of-concept code for this vulnerability is publicly available, which lowers the bar for attackers. Treat it as a reason to patch sooner.

Third-party code, not reviewed by us. Public PoCs are sometimes fake or contain malware. Read the code first and run it only in an isolated lab, against systems you are authorised to test.

GitHub 1 repository

  • bsdrip/CVE-2026-40179-PoC ★ 1 · Aug 19, 2026

    A minimal, dependency-light proof of concept for CVE-2026-40179 (GHSA-vffh-x6r8-xx99): stored cross-site scripting in the Prometheus web UI, delivered through an unauthenticated remote_write endpoint.

Sources: PoC-in-GitHub, Metasploit Framework, Exploit-DB — updated daily. Only links are listed; no exploit code is hosted here.

Affected packages

EcosystemPackageAffectedFixedRecord
Go github.com/prometheus/prometheus >= 3.0.0, < 3.5.2 3.5.2 GHSA-vffh-x6r8-xx99
Go github.com/prometheus/prometheus >= 3.6.0, < 3.11.2 3.11.2 GHSA-vffh-x6r8-xx99
Go github.com/prometheus/prometheus < 0.311.2-0.20260410083055-07c6232d159b 0.311.2-0.20260410083055-07c6232d159b GHSA-vffh-x6r8-xx99

Advisories 7

References