CyberRota Analysis
AI-GeneratedThe Strawberry GraphQL library versions 0.312.3 to 0.327.2 are vulnerable due to a flaw in the legacy graphql-ws subscription handler, which fails to properly manage completed operations in persistent WebSocket connections. This can lead to legitimate operations being rejected when a client exhausts the subscription limit by using distinct operation IDs for one-shot subscriptions. Users of affected versions who have configured a maximum number of subscriptions per connection should prioritize upgrading to version 0.327.2 to mitigate this issue.
Public Exploit Signal
A public exploit, PoC, GitHub repository or Metasploit reference was detected for this CVE.
Note: these links are listed for security research and verification purposes only.
Original NVD Description
Strawberry GraphQL is a library for creating GraphQL APIs. From 0.312.3 until 0.327.2, the legacy graphql-ws subscription handler in strawberry/subscriptions/protocols/graphql_ws/handlers.py does not remove naturally completed operations from self.tasks and self.subscriptions. When max_subscriptions_per_connection is configured, a client on a persistent WebSocket connection can use distinct operation IDs for one-shot subscriptions to fill the connection's configured slots even after those subscriptions send complete, causing later legitimate operations on that connection to be rejected with Subscription limit reached. The modern graphql-transport-ws protocol and deployments without the configured per-connection cap are not affected. This issue is fixed in version 0.327.2.