Публичный демонстрационный эксплойт (вредоносный код, использующий уязвимость) к CVE-2026-23980 в Apache Superset появился в открытом доступе. Речь идёт о внедрении SQL-кода, или SQL-инъекции, в платформе для бизнес-аналитики. Superset помогает изучать данные и собирать панели управления, или дашборды: интерактивные отчёты с графиками и таблицами. Через такие отчёты обычно смотрят на продажи, клиентские базы, операционные метрики и показатели защищённости. Платформу разворачивают у себя компании разного размера, государственные структуры и аналитические подразделения. Готовый к запуску код упрощает и проверку защиты, и попытки атаки, поэтому обновляться теперь приходится быстрее, чем планировалось.
Уязвимость CVE-2026-23980
Проблему Apache раскрыла 24 февраля 2026 года. Формулировка в бюллетене - некорректная нейтрализация специальных символов в SQL-команде, она же CWE-89. Уязвимы все выпуски Superset начиная с 0.0.0 и до 6.0.0 не включительно, то есть фактически вся история продукта. Такой размах означает, что обновление потребуется и тем, кто годами не трогал свою установку. Аутентифицированный пользователь с правом только на чтение может подставить собственный фрагмент запроса в параметр с SQL-выражением и в условие отбора данных. База данных выполняет этот фрагмент как часть общего запроса, а приложение не отделяет чужую конструкцию от своей.
Инъекция относится к классу error-based, то есть основанных на ошибках. Атакующий отправляет пробные конструкции и следит за ответом базы данных: по тексту сообщений об ошибках он понимает, прошёл ли вставленный фрагмент. Прямого контроля над сервером такой приём не даёт, зато позволяет пошагово вытаскивать сведения из таблиц и уточнять структуру запроса. Это не удалённое выполнение кода без учётной записи, и преувеличивать масштаб не стоит. Ошибка лежит в генерации запросов, а значит проявляется там, где пользователь задаёт собственные фильтры или вычисляемые поля. Диагностика требует сопоставления журналов базы и обращений приложения, потому что сам факт ошибки ещё не говорит об атаке.
Насколько тяжёлыми окажутся последствия, определяет набор условий: движок базы данных, права учётной записи, обработка ошибок в приложении и сегментация сети. Оценка по шкале CVSS, принятой для сравнения уязвимостей, - 5.3 балла из 10, средний уровень. При этом требование иметь действующую учётную запись с правом чтения не стоит считать надёжной преградой. Права чтения массово выдают сотрудникам, аналитикам, подрядчикам и сервисным учётным записям. Superset часто подключают к хранилищам через одну общую учётную запись с широкими полномочиями, и тогда границы доступа к данным размываются. Одна ошибка в сборке запросов способна вывести пользователя за рамки, которые задумали разработчики, и открыть сведения, не предназначенные для его роли.
Исправление готово: дыру закрыли в Apache Superset 6.0.0, и проект советует обновиться именно до этой версии. Перед установкой стоит навести порядок в учёте. Нужен полный список развёрнутых экземпляров, включая тестовые, встраиваемые и работающие внутри отдельных подразделений. Такие установки часто остаются в стороне от централизованного управления исправлениями, поэтому их легко пропустить. Затем сверяют версии и пересматривают круг пользователей с правом чтения. Отдельная задача - понять, к каким базам ведут отчёты, графики и интерфейсы запросов. Экземпляры, доступные из интернета, и те, что подключены к хранилищам с чувствительными данными, требуют первоочередного внимания.
Пока обновление не установлено, риск снижают ограничительные меры. Доступ к Superset сужают до минимально нужного круга сотрудников. Учётные записи в базах данных получают только те привилегии, без которых работа невозможна. Сетевой доступ к серверам баз ограничивают. Логи приложений и баз просматривают на предмет необычных ошибок запросов и активности учётных записей с низкими правами. Такие сигналы легко потерять в общем потоке событий, поэтому настройки оповещений лучше проверить заранее. Встроенная аналитика в чужих продуктах тоже наследует эту уязвимость, если внутри работает уязвимая сборка платформы. Все перечисленные меры компенсирующие и не заменяют переход на 6.0.0.
Администраторам не стоит запускать чужой демонстрационный код на рабочих системах. Репозиторий на Python подают как доработанный эксплойт, и проверить его происхождение нельзя.
Публикация готового эксплойта меняет расчёт рисков. Свободно доступный код даёт атакующим образец для проверки чужих установок, а защитникам - повод ускорить работу. Скорость обновления, ревизия прав доступа и наблюдение за логами остаются самыми действенными способами удержать ситуацию под контролем. Особенно там, где учётные записи с правом чтения выдают широко и не пересматривают годами.
Ссылки
- https://www.cve.org/CVERecord?id=CVE-2026-23980
- https://lists.apache.org/thread/h4l02zw1pr2vywv0dc5zjn3grdcdhwf4
- https://github.com/oscar-mine/CVE-2026-23980-Exploit
- https://github.com/hyphenTBG/CVE-2026-23980