CVE-2026-40179

MEDIUM CVSS 4.0: 5,3
Обновлено 17 апреля 2026
Prometheus
Параметр Значение
CVSS 5,3 (MEDIUM)
Уязвимые версии 3.0 — 3.5.1
Тип уязвимости CWE-79 (Межсайтовый скриптинг (XSS))
Поставщик Prometheus
Публичный эксплойт Нет

Prometheus — это система мониторинга с открытым исходным кодом и база данных временных рядов. Версии с 3.0 по 3.5.1 и с 3.6.0 по 3.11.1 содержат уязвимости межсайтового скриптинга во многих компонентах веб-интерфейса Prometheus, где имена метрик и значения меток вводятся во внутренний HTML без экранирования. И в пользовательском интерфейсе Mantine, и в старом пользовательском интерфейсе React подсказки диаграмм на странице Graph отображают имена метрик, содержащие HTML/JavaScript, без очистки.

В старом пользовательском интерфейсе React результаты нечеткого поиска Metric Explorer используют опасноSetInnerHTML без экранирования, а всплывающие подсказки ячеек тепловой карты интерполируют значения меток файлов без очистки. Поскольку Prometheus v3.x по умолчанию использует проверку имени метрики и метки UTF-8, такие символы, как <, > и ", теперь допустимы в именах и метках метрик. Злоумышленник, который может внедрить метрики через скомпрометированную цель очистки, удаленную запись или конечную точку приемника OTLP, может выполнить произвольный JavaScript в браузере любого пользователя Prometheus, который просматривает метрику в пользовательском интерфейсе Graph, потенциально позволяя эксфильтрацию конфигурации, удаление данных или завершение работы 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, поскольку они могут генерировать отравленные имена и значения меток.

Показать оригинальное описание (EN)

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.

Характеристики атаки

Способ атаки
По сети
Атака возможна удалённо
Сложность
Низкая
Легко эксплуатировать
Условия для атаки
Не требуются
Нет дополнительных условий
Нужны права
Не требуются
Права не нужны
Участие пользователя
Пассивное
Минимальное взаимодействие

Последствия

Конфиденциальность
Нет
Нет утечки данных
Целостность
Нет
Нет модификации данных
Доступность
Нет
Нет нарушения работы

Строка CVSS v4.0

Связанные уязвимости