CVE-2026-35523: Authentication bypass in strawberry-graphql via legacy graphql-ws WebSocket subprotocol

Published Apr 6, 2026
·
Updated

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 connectioninit handshake has been completed before processing start (subscription) messages. This allows a remote attacker to skip the onwsconnect authentication hook entirely by connecting with the graphql-ws subprotocol and sending a start message directly, without ever sending connectioninit. This vulnerability is fixed in 0.312.3.

Other sources

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 connectioninit handshake has been completed before processing start (subscription) messages. This allows a remote attacker to skip the onwsconnect authentication hook entirely by connecting with the graphql-ws subprotocol and sending a start message directly, without ever sending connectioninit.

The graphql-transport-ws subprotocol handler is not affected, as it correctly gates subscription operations on a connectionacknowledged 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 onwsconnect for authentication or authorization is affected.

Mitigation: Upgrade to the patched version, or explicitly disable the legacy graphql-ws subprotocol by setting subscriptionprotocols=[GRAPHQLTRANSPORTWSPROTOCOL] on your GraphQL view/router.

— GitHub

Affected Software

2 affected componentsFixes available
pip/strawberry-graphql<=0.312.2
0.312.3
Strawberry Strawberry Graphql Python<0.312.3

Event History

Apr 6, 2026
Advisory Published
via GitHub·06:00 PM
Data Sourced
via GitHub·06:00 PM
DescriptionSeverityWeaknessAffected Software
Apr 7, 2026
CVE Published
via MITRE·03:58 PM
Data Sourced
via MITRE·03:58 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·05:16 PM
DescriptionSeverityWeakness
Data Sourced
via NVD·05:16 PM
Affected Software

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203