Хранимый межсайтовый скриптинг в панели Geomap системы Grafana OSS позволяет пользователю с ролью редактора исполнять собственный код в браузере коллег. Открытие дашборда с такой панелью передаёт атакующему чужую сессию, а вместе с ней и возможность поднять свои права до администратора организации. Оценка уязвимости по шкале CVSS составляет 7.3 балла, идентификатор CVE-2026-76154. Бюллетень опубликован 17 сентября. Проблема затрагивает ветки 12.3, 12.4, 13.0, 13.1 и 13.2 открытой редакции Grafana.
Уязвимость CVE-2026-76154
Панель Geomap рисует карты поверх библиотеки MapLibre. Внешний вид карты задаёт конфигурация стиля - набор правил, который Grafana подгружает по указанному адресу. Редактор дашборда вправе прописать такой адрес самостоятельно. Злоумышленник размещает конфигурацию на своём сервере и добавляет в неё скрипт. Код срабатывает в браузере каждого, кто откроет панель. Настройка сохраняется внутри дашборда, поэтому уязвимость относят к хранимым. Повторно отправлять ссылку жертве не требуется: панель обращается к внешнему ресурсу при каждой загрузке.
Роль редактора есть у многих сотрудников. Обычно он правит дашборды, но не трогает учётные записи и источники данных. Администратор организации распоряжается пользователями, правами, источниками данных и ключами доступа. Уязвимость стирает эту границу, поскольку код исполняется в браузере администратора от его имени. Для атаки нужны сетевой доступ, низкая сложность, учётная запись редактора и одно действие жертвы - открытие дашборда. Влияние на конфиденциальность и целостность данных высокое, на доступность нулевое.
Под удар попадают организации, где Grafana собирает мониторинг в одной точке. Дежурные смены, аналитики, инженеры и подрядчики получают редакторские права десятками. Панели с картами встречаются реже, чем графики, зато в логистике, телекоме и инфраструктурных проектах без них не обходится. Постоянно открытой панель держать не нужно. Достаточно одного захода администратора, чтобы вредоносный стиль отработал в его сессии.
Сведений о реальных атаках с использованием этой уязвимости нет. Извне её не применить: нужна учётная запись внутри системы. Поэтому главный риск связан с внутренними нарушителями и с компрометацией аккаунта редактора. Помимо этого, Grafana сама по себе служит картой инфраструктуры. Через неё видны имена хостов, сервисов, метрики нагрузки и журналы. Хранимый межсайтовый скриптинг в такой системе даёт доступ сразу ко всей этой картине, а не к одному серверу.
Исправления вышли в версиях 12.4.11, 13.0.9, 13.1.6 и 13.2.2. Пользователям ветки 12.4 нужно перейти на 12.4.11 или выше, ветки 13.0 - на 13.0.9, ветки 13.1 - на 13.1.6, ветки 13.2 - на 13.2.2. Сборки младше 12.3.0 уязвимости не подвержены. Обновление устраняет саму причину: панель перестаёт исполнять сторонний код из конфигурации стиля.
Если перенести обновление сразу не получается, стоит сузить круг редакторов. Роль редактора в Grafana равносильна праву добавлять в дашборд произвольные внешние ссылки, и выдавать её напрасно не нужно. Полезно просмотреть существующие дашборды с панелью Geomap и проверить, откуда они тянут конфигурацию стиля. Заодно имеет смысл пересмотреть список администраторов организации и снять лишние права. Отдельного обходного пути бюллетень не предлагает, поэтому отложенное обновление остаётся компромиссом.
Визуализация давно стала частью поверхности атаки. Панели подтягивают данные из внешних источников, встраивают сторонние библиотеки, строят карты и графики по чужим адресам. Права на редактирование дашбордов при этом раздают широко, ведь это воспринимают как работу с оформлением, а не с безопасностью. Разделение между редактором и администратором существует только в модели ролей. Любая панель, которая исполняет чужую конфигурацию в браузере, это разделение убирает.
Ссылки