Cyber Resilience

CVE-2026-35523

Access Control in Strawberry Graphql ≤ 0.312.3

Published
07 April 2026
Modified
17 April 2026
Patch / advisory
CVSS Score v3.1 7.5
Click a component to see what it means
Raw vectorCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
EPSS Score 0.0042 35th percentile
Risk Priority 57 floored blend · peak EPSS

CVSS and EPSS are reproduced from their sources (NVD, FIRST EPSS). Risk Priority is our own derived reading, not an NVD score.

Summary

CVE-2026-35523 is a high-severity Missing Authentication for Critical Function (CWE-306) vulnerability in Strawberry Strawberry Graphql. Its CVSS base score is 7.5 (High).

Operationally, exploitation aligns with the MITRE ATT&CK technique Exploit Public-Facing Application (T1190); ranked at the 35th percentile by exploit likelihood (below the median); it is not currently listed in the CISA KEV catalog.

The strongest mitigations our analysis identified map to AC-14 (Permitted Actions Without Identification or Authentication) and IA-2 (Identification and Authentication (Organizational Users)) — see the control section below for these in your framework.

Deeper analysis AI-assisted summary

Synthesised by an AI model from the NVD description and linked references — a reading aid, not an authoritative source.

CVE-2026-35523 is an authentication bypass vulnerability in the Strawberry GraphQL library, which is used for creating GraphQL APIs. Versions up to 0.312.3 are affected specifically in the handling of 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, enabling attackers to circumvent authentication mechanisms.

A remote, unauthenticated attacker can exploit this vulnerability over the network with low complexity and no user interaction required. By connecting via the graphql-ws subprotocol and sending a start message directly without the connection_init step, the attacker skips the on_ws_connect authentication hook entirely. This grants access to sensitive subscription data, as reflected in the CVSS v3.1 base score of 7.5 (AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N) and associated CWE-306 (Missing Authentication for Critical Function).

The vulnerability is addressed in Strawberry GraphQL version 0.312.3. Practitioners should upgrade to this version or later to mitigate the issue. Additional details are available in the security advisory at https://github.com/strawberry-graphql/strawberry/security/advisories/GHSA-vpwc-v33q-mq89.

OWASP Top 10 for Web (2025)

EU & UK References

Vulnerability Data

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 connection_init handshake has been completed before…

more

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. This vulnerability is fixed in 0.312.3.

CWE(s)

Related Threats

MITRE ATT&CK Enterprise Techniques

T1190 Exploit Public-Facing Application Initial Access
Adversaries may attempt to exploit a weakness in an Internet-facing host or system to initially access a network.
T1133 External Remote Services Persistence
Adversaries may leverage external-facing remote services to initially access and/or persist within a network.
Derived from this CVE’s CWE(s) via the direct CWE→ATT&CK cross-walk.

CVEs Like This One

CVE-2026-47707Same product: Strawberry Strawberry Graphql
CVE-2026-47706Same product: Strawberry Strawberry Graphql
CVE-2026-35526Same product: Strawberry Strawberry Graphql
CVE-2026-45739Same product: Strawberry Strawberry Graphql
CVE-2025-55108Shared CWE-306
CVE-2023-2187Shared CWE-306
CVE-2026-71878Shared CWE-306
CVE-2026-60275Shared CWE-306
CVE-2017-20222Shared CWE-306
CVE-2026-60595Shared CWE-306

Affected Assets

strawberry
strawberry graphql
≤ 0.312.3

Mitigating Controls

Control response

Prevent
Stop it (NIST 800-53)

—

Detect
Catch it (NIST detect / respond)

—

Harden
Shrink the surface (DISA STIG)
  • 6 hardening rules · 3 OS baselines
Validate
Prove the fix (OWASP ASVS)
  • V6.2.3
  • V6.4.4
  • V10.4.16
  • V12.1.3

Mitigating Controls (NIST 800-53 r5) AI

Directly mandates unique identification and authentication of users before access to functions requiring identity.

Extends the same authentication requirement to non-organizational users accessing critical functionality.

Requires authentication of services before they can invoke or expose critical functions.

Explicitly identifies and limits actions permitted without authentication, preventing critical functions from being exposed.

Access enforcement requires prior authentication before any authorization decision for critical functions.

Mitigating Controls (NIST CSF 2.0) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→CSF cross-walk (authority under review) — links open the control.

PR.AA-03 full match
prevents

Directly requires authentication of users/services/hardware, which eliminates missing authentication for critical functions.

PR.AA-01 partial match
prevents

Managing identities and credentials is a prerequisite for authentication but does not itself enforce it on critical functions.

PR.AA-05 partial match
prevents

Defining and enforcing authorizations assumes prior authentication and therefore only partially mitigates the absence of authentication.

PR.IR-01 partial match
prevents

Protecting networks from unauthorized access can be undermined by missing authentication but does not address the root authentication gap.

Mitigating Controls (ISO/IEC 27001:2022 Annex A) AI

Derived directly from the weakness types (CWEs) cited in the NVD entry via our AI-authored CWE→ISO cross-walk (authority under review) — links open the control.

prevents

The control explicitly calls for authentication before any critical function is reached, eliminating the possibility of bypassing authentication for high-value operations.

prevents

Mandating authentication requirements for critical functions at the requirements-gathering stage ensures that essential operations are not left unprotected by missing login or verification mechanisms.

mitigates

Mandating authentication for network services and critical functions stops attackers from invoking sensitive operations without credentials, closing gaps where authentication is absent for important capabilities.

prevents

Security engineering principles insist on authentication and authorization for every critical function, eliminating entry points that lack any access control mechanism.

Hardening callouts derived

Configuration rules from DISA STIG baselines that bear on weaknesses of the type cited by this CVE. Each rule is shown with the relationship its mapping actually records, against the CWE it was authored against. Derived via CVE→CWE over `controls_xwalks` (authoritative rows only; rows rated `none` are excluded).

Oracle Linux 8 (2 rules)
  • V-248585 OL 8 must require reauthentication when using the "sudo" command. prevents CWE-306
  • V-248827 OL 8 must not have the rsh-server package installed. prevents CWE-306
RHEL 7 (2 rules)
  • V-204442 The Red Hat Enterprise Linux operating system must not have the rsh-server package installed. prevents CWE-306
  • V-237635 The Red Hat Enterprise Linux operating system must require re-authentication when using the "sudo" command. prevents CWE-306
RHEL 8 (2 rules)
  • V-230492 RHEL 8 must not have the rsh-server package installed. prevents CWE-306
  • V-237643 RHEL 8 must require re-authentication when using the "sudo" command. prevents CWE-306

References