Dgraph — это распределенная база данных GraphQL с открытым исходным кодом. До версии 25.3.4 запрос GraphQL checkUserPassword в Dgraph уязвим для внедрения DQL (языка запросов Dgraph). Значения паролей, предоставленные пользователем, интерполируются непосредственно в запрос DQL `checkpwd()` через `fmt.Sprintf` без какого-либо экранирования или параметризации.
Злоумышленник может ввести пароль, содержащий символ двойной кавычки, чтобы выйти из строкового литерала DQL и добавить произвольные блоки запроса DQL. Версия 25.3.4 исправляет проблему.
Показать оригинальное описание (EN)
Dgraph is an open source distributed GraphQL database. Prior to version 25.3.4, the `checkUserPassword` GraphQL query in Dgraph is vulnerable to DQL (Dgraph Query Language) injection. User-supplied password values are interpolated directly into a DQL `checkpwd()` query via `fmt.Sprintf` without any escaping or parameterization. An attacker can inject a password containing a double-quote character to break out of the DQL string literal and append arbitrary DQL query blocks. Version 25.3.4 patches the issue.
Характеристики атаки
Последствия
Строка CVSS v3.1