Strawberry GraphQL — это библиотека для создания API-интерфейсов GraphQL. Strawberry вплоть до версии 0.312.3 уязвим для обхода аутентификации на конечных точках подписки WebSocket. Устаревший обработчик подпротокола Graphql-ws не проверяет, завершено ли подтверждение Connection_init перед обработкой сообщений о начале (подписке).
Это позволяет удаленному злоумышленнику полностью пропустить перехват аутентификации on_ws_connect, подключившись с помощью подпротокола Graphql-ws и отправив стартовое сообщение напрямую, даже не отправляя Connection_init. Эта уязвимость исправлена в версии 0.312.3.
Показать оригинальное описание (EN)
Strawberry GraphQL is a library for creating GraphQL APIs. Strawberry up until version 0.312.3 is vulnerable to an authentication bypass on WebSocket subscription endpoints. The legacy graphql-ws subprotocol handler does not verify that a connection_init handshake has been completed before processing start (subscription) messages. This allows a remote attacker to skip the on_ws_connect authentication hook entirely by connecting with the graphql-ws subprotocol and sending a start message directly, without ever sending connection_init. This vulnerability is fixed in 0.312.3.
Характеристики атаки
Последствия
Строка CVSS v3.1
Тип уязвимости (CWE)
Уязвимые продукты 1
| Конфигурация | От (включительно) | До (исключительно) |
|---|---|---|
|
Strawberry Strawberry_Graphql
cpe:2.3:a:strawberry:strawberry_graphql:*:*:*:*:*:python:*:*
|
— |
0.312.3
|