Unauthenticated SPARQL-инъекция в search API djehuty (CVE-2026-73976)
В системе репозиториев исследовательских данных djehuty от 4TU.ResearchData обнаружена уязвимость SPARQL-инъекции, позволяющая неаутентифицированному атакующему выполнять произвольные запросы к RDF-хранилищу. Проблема затрагивает версии до 26.3.2 и оценена в 7.1 балла по CVSS (HIGH). Патч уже выпущен.
Подробности
Уязвимость затрагивает djehuty — систему репозитория исследовательских данных, разработанную 4TU.ResearchData. Проблема присутствует во всех версиях до 26.3.2 включительно. Суть уязвимости — SPARQL-инъекция в API поиска и листинга. Атакующему не требуется аутентификация или взаимодействие с пользователем: достаточно отправить специально сформированный запрос через три параметра — `order`, `operator` и `key`. Через каждый из них можно внедрить произвольный фрагмент SPARQL-кода в итоговый запрос. Поскольку внедрение происходит в SELECT-запросы (чтение), запись в хранилище не осуществляется. Тем не менее последствия серьёзны: - **Эксфильтрация данных между графами (cross-graph data exfiltration).** С помощью конструкции UNION атакующий может подмешивать в результат тройки из графов, которые не были охвачены исходным запросом. Речь идёт о черновиках, приватных и внутренних данных, хранящихся в RDF-хранилище. - **Отказ в обслуживании (DoS).** Дорогостоящие или некорректно сформированные запросы способны надолго занять SPARQL-бэкенд и веб-воркеры, нарушив доступность сервиса. Уязвимости присвоен рейтинг CVSS 7.1 (HIGH). Проблема исправлена в версии 26.3.2.Что делать
Основная рекомендация — как можно скорее обновиться до djehuty 26.3.2 или более поздней версии. Это единственный надёжный способ закрыть уязвимость. Если немедленное обновление невозможно, следует рассмотреть временные меры: - Ограничить доступ к search API на уровне обратного прокси или WAF — в первую очередь для неаутентифицированных пользователей. - Провести валидацию и экранирование параметров `order`, `operator` и `key` на уровне приложения, если имеется возможность внести изменения в код. - Настроить лимиты на выполнение SPARQL-запросов (таймауты, ограничение ресурсов), чтобы снизить риск DoS. - Ограничить права сервисного аккаунта, от имени которого выполняются запросы к RDF-хранилищу, чтобы сократить объём доступных графов. Дополнительно стоит проверить логи search API на предмет подозрительных запросов с конструкциями UNION или необычно ресурсоёмких обращений — это поможет выявить возможную эксплуатацию до обновления. Итог: CVE-2026-73976 — показательный пример того, как недостаточная валидация параметров в API поиска открывает доступ к данным за пределами предполагаемой области видимости. Несмотря на то что уязвимость не позволяет изменять хранилище, утечка приватных исследовательских данных и возможность DoS делают её критичной для затронутых инсталляций. Обновление до версии 26.3.2 устраняет проблему.Источник: CVE Project (cvelistV5)
