Strawberry GraphQL — это библиотека для создания API-интерфейсов GraphQL. Начиная с версии 0.182.0 и до версии 0.257.0, в интеграции реле Strawberry GraphQL существует уязвимость, связанная с путаницей типов, которая влияет на несколько интеграций ORM (Django, SQLAlchemy, Pydantic). Уязвимость возникает, когда несколько типов GraphQL сопоставляются с одной и той же базовой моделью при использовании интерфейса узла ретрансляции.
При запросе определенного типа с использованием поля глобального узла (например, FruitType:some-id) преобразователь может неправильно вернуть экземпляр другого типа, сопоставленный с той же моделью (например, SpecialFruitType). Это может привести к раскрытию информации, если альтернативный тип предоставляет конфиденциальные поля, и потенциальному повышению привилегий, если альтернативный тип содержит данные, предназначенные для ограниченного доступа. Эта уязвимость исправлена в версии 0.257.0.
Показать оригинальное описание (EN)
Strawberry GraphQL is a library for creating GraphQL APIs. Starting in 0.182.0 and prior to version 0.257.0, a type confusion vulnerability exists in Strawberry GraphQL's relay integration that affects multiple ORM integrations (Django, SQLAlchemy, Pydantic). The vulnerability occurs when multiple GraphQL types are mapped to the same underlying model while using the relay node interface. When querying for a specific type using the global node field (e.g., FruitType:some-id), the resolver may incorrectly return an instance of a different type mapped to the same model (e.g., SpecialFruitType). This can lead to information disclosure if the alternate type exposes sensitive fields and potential privilege escalation if the alternate type contains data intended for restricted access. This vulnerability is fixed in 0.257.0.
Характеристики атаки
Последствия
Строка CVSS v3.1