CVE-2026-35523

7.5

Strawberry · GraphQL

Strawberry GraphQL versions before 0.312.3 are vulnerable to an authentication bypass on WebSocket subscription endpoints due to improper handling of the graphql-ws subprotocol.

Executive summary

An authentication bypass vulnerability in Strawberry GraphQL allows unauthenticated remote attackers to circumvent connection hooks and access sensitive subscription data.

Vulnerability

This flaw exists because the legacy graphql-ws subprotocol handler fails to verify that the required connection_init handshake is completed before processing subscription messages. An unauthenticated attacker can bypass the on_ws_connect authentication hook by sending a start message directly to the WebSocket endpoint.

Business impact

Successful exploitation of this vulnerability permits unauthorized access to GraphQL subscription data, potentially leading to the exposure of sensitive information or unauthorized real-time updates. Given the CVSS score of 7.5, this high-severity issue poses a significant risk to data confidentiality, as it allows attackers to bypass security controls without requiring prior authentication or user interaction.

Remediation

Immediate Action: Update the strawberry-graphql package to version 0.312.3 or later immediately to enforce proper handshake validation.

Proactive Monitoring: Review application logs for WebSocket connection patterns that lack the expected connection_init handshake sequence, which may indicate attempted exploitation.

Compensating Controls: Implement network-level restrictions or a Web Application Firewall configured to inspect and validate WebSocket subprotocols if an immediate update is not feasible.

Exploitation status

Public Exploit Available: No (exploit_available: unknown)

Analyst recommendation

This vulnerability represents a critical failure in the authentication workflow of the affected API library. Organizations utilizing Strawberry GraphQL should prioritize upgrading to version 0.312.3 to ensure that the connection_init handshake is correctly enforced. Failure to patch may expose backend data streams to unauthorized access by any remote actor.

More Strawberry CVEs

Sources