Rapid7

vulnerability

FreeBSD: VID-6a0aa20d-399f-11f1-8626-901b0edee044 (CVE-2026-35526): py-strawberry-graphql -- Multiple vulnerabilities

Severity
8
CVSS
(AV:N/AC:L/Au:N/C:N/I:N/A:C)
Published
Apr 17, 2026
Added
Apr 20, 2026
Modified
Apr 20, 2026

Description

The Strawberry GraphQL project reports: 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'. The graphql-transport-ws subprotocol handler is not affected, as it correctly gates subscription operations on a connection_acknowledged flag. However, both subprotocols are enabled by default in all framework integrations that support websockets, and the subprotocol is selected by the client via the Sec-WebSocket-Protocol header. Any application relying on 'on_ws_connect' for authentication or authorization is affected. Strawberry GraphQL's WebSocket subscription handlers for both the 'graphql-transport-ws' and legacy 'graphql-ws' protocols allocate an asyncio.Task and associated Operation object for every incoming subscribe message without enforcing any limit on the number of active subscriptions per connection. An unauthenticated attacker can open a single WebSocket connection, send connection_init, and then flood subscribe messages with unique IDs. Each message unconditionally spawns a new 'asyncio.Task' and async generator, causing linear memory growth and event loop saturation. This leads to server degradation or an OOM crash.

Solutions

freebsd-upgrade-package-py310-strawberry-graphqlfreebsd-upgrade-package-py311-strawberry-graphqlfreebsd-upgrade-package-py312-strawberry-graphqlfreebsd-upgrade-package-py313-strawberry-graphqlfreebsd-upgrade-package-py313t-strawberry-graphqlfreebsd-upgrade-package-py314-strawberry-graphqlfreebsd-upgrade-package-py310-dj52-strawberry-graphqlfreebsd-upgrade-package-py311-dj52-strawberry-graphqlfreebsd-upgrade-package-py312-dj52-strawberry-graphqlfreebsd-upgrade-package-py313-dj52-strawberry-graphqlfreebsd-upgrade-package-py313t-dj52-strawberry-graphqlfreebsd-upgrade-package-py314-dj52-strawberry-graphql
Title
Rapid7 Labs

2026 Global Threat Landscape Report

The predictive window has collapsed. Exploitation follows disclosure in days. See how attackers are accelerating and how to stay ahead.