CVE-2026-35526

Strawberry GraphQL affected by a Denial of Service via unbounded WebSocket subscriptions

Published Apr 7, 2026 CVSS 3.1 · 7.5 High EPSS < 1% KEV · Not listed
Description
Strawberry GraphQL is a library for creating GraphQL APIs. Prior to 0.312.3, 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. This vulnerability is fixed in 0.312.3.

Remediation

No solution or workaround provided in the CVE record

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-hv3w-m4g2-5x77 strawberry-graphql: Denial of Service via unbounded WebSocket subscriptions
History
Type Values Removed Values Added
First Time appeared Strawberry strawberry Graphql
CPEs cpe:2.3:a:strawberry:strawberry_graphql:*:*:*:*:*:python:*:*
Vendors & Products Strawberry strawberry Graphql
Type Values Removed Values Added
First Time appeared Strawberry
Strawberry strawberry
Vendors & Products Strawberry
Strawberry strawberry
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'yes', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Description Strawberry GraphQL is a library for creating GraphQL APIs. Prior to 0.312.3, 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. This vulnerability is fixed in 0.312.3.
Title Strawberry GraphQL affected by a Denial of Service via unbounded WebSocket subscriptions
Weaknesses CWE-770
References
Metrics cvssV3_1

{'score': 7.5, 'vector': 'CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
GitHub_M
Published
Updated
Apr 8, 2026, 2:55 PM
Reserved
Apr 3, 2026, 2:15 AM
Status
Analyzed
Published
Apr 7, 2026, 4:16 PM
Modified
Nov 11, 2026, 11:10 PM