製品・ソフトウェアに関する情報
Prometheusにおけるクロスサイトスクリプティングの脆弱性
Title Prometheusにおけるクロスサイトスクリプティングの脆弱性
Summary

Prometheusはオープンソースの監視システムおよび時系列データベースです。バージョン3.0から3.5.1および3.6.0から3.11.1には、PrometheusのWeb UIの複数のコンポーネントにクロスサイトスクリプティングの脆弱性が存在し、メトリクス名やラベル値がエスケープされることなくinnerHTMLに挿入されていました。Mantine UIおよび旧React UIの両方において、GraphページのチャートツールチップはHTMLやJavaScriptを含むメトリクス名をサニタイズせずにレンダリングします。旧React UIでは、Metric Explorerのあいまい検索結果がエスケープされずにdangerouslySetInnerHTMLを使用し、ヒートマップのセルツールチップがラベル値をサニタイズせずに補間します。Prometheus v3.xでは、UTF-8のメトリクス名およびラベル名のバリデーションがデフォルトで有効になっており、""や""、"\""などの文字がメトリクス名およびラベルで有効になっています。攻撃者がスクレイプターゲット、リモートライト、OTLPレシーバーエンドポイントのいずれかを不正に操作してメトリクスを注入できる場合、Graph UIでそのメトリクスを確認する任意のPrometheusユーザーのブラウザ上で任意のJavaScriptが実行され、不正な設定の窃取やデータ削除、またはフラグの設定次第でPrometheusの停止が可能になる恐れがあります。この問題はバージョン3.5.2および3.11.2で修正されています。開発者がすぐに更新できない場合は、次の回避策を推奨します。リモートライトレシーバー(--web.enable-remote-write-receiver)およびOTLPレシーバー(--web.enable-otlp-receiver)を信頼されていないソースに対して公開しないこと、すべてのスクレイプターゲットが信頼でき、攻撃者の制御下にないことを確認すること、信頼できないデータが取り込まれる環境で管理者または変更可能なAPIエンドポイント(例:--web.enable-admin-apiや--web.enable-lifecycle)を有効にしないこと、およびlabel_replaceなどの関数を含む不審なリンクをクリックしないこと(これらは汚染されたラベル名や値を生成する可能性があります)です。

Possible impacts 当該ソフトウェアが扱う情報の一部が外部に漏れる可能性があります。 また、当該ソフトウェアが扱う情報の一部が書き換えられる可能性があります。 さらに、当該ソフトウェアは停止しません。 そして、この脆弱性を悪用した攻撃により、他のソフトウェアにも影響が及ぶ可能性があります。 
Solution

正式な対策が公開されています。ベンダ情報を参照して適切な対策を実施してください。

Publication Date April 15, 2026, midnight
Registration Date April 24, 2026, 11:41 a.m.
Last Update April 24, 2026, 11:41 a.m.
CVSS3.0 : 警告
Score 6.1
Vector CVSS:3.0/AV:N/AC:L/PR:N/UI:R/S:C/C:L/I:L/A:N
Affected System
Prometheus
Prometheus 3.0.0 以上 3.5.2 未満
Prometheus 3.6.0 以上 3.11.2 未満
CVE (情報セキュリティ 共通脆弱性識別子)
CWE (共通脆弱性タイプ一覧)
ベンダー情報
その他
Change Log
No Changed Details Date of change
1 [2026年04月24日]
  掲載
April 24, 2026, 11:41 a.m.

NVD Vulnerability Information
CVE-2026-40179
Summary

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.

Publication Date April 16, 2026, 8:16 a.m.
Registration Date April 17, 2026, 4:12 a.m.
Last Update April 23, 2026, 5:04 a.m.
Affected software configurations
Configuration1 or higher or less more than less than
cpe:2.3:a:prometheus:prometheus:*:*:*:*:*:*:*:* 3.0.0 3.5.2
cpe:2.3:a:prometheus:prometheus:*:*:*:*:*:*:*:* 3.6.0 3.11.2
Related information, measures and tools
Common Vulnerabilities List