Dgraph — это распределенная база данных GraphQL с открытым исходным кодом. До 25.3.3 в Dgraph была обнаружена уязвимость, которая дает неау…
Dgraph — это распределенная база данных GraphQL с открытым исходным кодом. До 25.3.3 в Dgraph была обнаружена уязвимость, которая дает неаутентифицируемому злоумышленнику полный доступ к прочтению каждой части данных в базе данных. Это влияет на конфигурацию Dgraph по умолчанию, где ACL не включен. Атака требует двух HTTP-POST для порта 8080. Первый устанавливает предикат схемы с @unique @index(texact) @lang via /alter (также неаутентифицированный в конфигурации по умолчанию). Второй посылает созданную мутацию JSON в /mutate?commitNow=true, где ключ JSON содержит имя предиката, за которым следуют @ и полезная нагрузка DQL в положении языкового метки. Инъекция использует функцию addQueryIfUnique в edgraph/server.go, которая конструирует DQL-запросы с использованием fmt.Sprintf с несанитированным predicateName, который включает в себя необработанное значение pred.Lang. Поле Ланга извлекается из клавиш мутаций JSON x.PRedactateLang(), которое разделяется на @, и никогда не проверяется какой-либо функцией в кодовой базе. Агитатор вводит закрывающую скобки, чтобы избежать функции eq(), добавляет произвольный названный блок запроса и использует #компакт для нейтрализации синтаксиса шаблона за следом. Введенный запрос выполняет серверную сторону, и его результаты возвращаются в ответ HTTP. Эта уязвимость исправлена в 25.3.3.
Продукт формирует запрос для доступа к данным или их изменения в хранилище данных (например, в базе данных), однако не нейтрализует или некорректно нейтрализует специальные элементы, способные изменить предполагаемую логику запроса.
https://cwe.mitre.org/data/definitions/943.html →Открыть в коллекции CWE →Нет описания в исходных данных.
https://capec.mitre.org/data/definitions/676.html →Открыть в коллекции CAPEC →