В графовой базе данных Dgraph обнаружили критическую уязвимость CVE-2026-34976. Проблема затрагивает административную GraphQL-операцию restoreTenant: она оказалась доступна без аутентификации, хотя другие похожие административные действия в системе защищены проверками доступа. В GitHub Advisory уязвимость получила максимальную оценку — 10.0 по шкале CVSS.

Мутация restoreTenant, предназначенная для восстановления данных арендатора или пространства имён из резервной копии, не была включена в список административных операций, для которых Dgraph применяет защитные промежуточные проверки. В результате запрос доходил до обработчика напрямую: без проверки токена и прав администратора, без ограничения по IP и даже без журналирования на этом этапе.
По данным GitHub Advisory, уязвимость позволяет перезаписать содержимое базы, читать файлы на стороне сервера через file://, а также использовать сервер как промежуточную точку для SSRF-атак — то есть для обращений к внутренним ресурсам от имени уязвимого узла. В описании отдельно сказано, что операция принимала управляемые атакующим адреса источников резервной копии, включая S3/MinIO, пути к файлам ключей шифрования и пути к файлам учётных данных Vault.
Проблема затрагивает несколько веток проекта. Уязвимы версии пакета github.com/dgraph-io/dgraph до 1.2.8 включительно, ветка v24 до 24.0.5 включительно и ветка v25 до 25.3.0 включительно. Исправление указано только для ветки v25: безопасной названа версия 25.3.1. Для двух более старых веток в карточке advisory на момент публикации патч не указан.
У Dgraph административный GraphQL-интерфейс /admin работает на порту 8080, и сама документация относит restoreTenant к административным мутациям этого интерфейса. Там же сказано, что административные операции в норме должны быть защищены механизмами аутентификации и сетевыми ограничениями.
Административные конечные точки Dgraph защищены тремя уровнями: ограничением по IP-адресам, токеном X-Dgraph-AuthToken и, при включённом ACL, JWT-токеном администратора из группы Guardians. Для /admin это правило должно действовать на все запросы, кроме login. На фоне этих правил отсутствие защиты у restoreTenant выглядит особенно серьёзно: фактически одна административная операция выпала из общего контура защиты.
Что исследователи советуют делать администраторам Dgraph прямо сейчас:
-
обновиться до 25.3.1, если используется ветка v25; проверить, не открыт ли административный интерфейс /admin извне;
-
ограничить доступ к порту 8080 на уровне сети; включить и перепроверить токен защиты административных операций;
-
отдельно просмотреть журналы и признаки несанкционированных восстановлений из резервных копий.
Есть новость? Станьте автором.
Мы сотрудничаем с независимыми исследователями и специалистами по кибербезопасности. Отправьте нам новость или предложите статью на рассмотрение редакции.
Вопросы по теме
Что произошло?
Насколько это серьёзно?
Что может сделать атакующий?
Нужен ли логин или токен?
Какие версии затронуты?
Какая версия исправлена?
Где расположен уязвимый интерфейс?
Что проверить в первую очередь?
Читайте также
Хакеры прячут скриммер банковских карт в пикселе SVG: заражены десятки интернет-магазинов
Juniper срочно закрыла почти три десятка уязвимостей в Junos OS: среди них есть уязвимости с риском полного захвата устройства