CVE-2026-5423: Subscription Authentication Bypass via Unverified connectionParams.jwt
@neo4j/graphql library versions prior to 7.5.6 fail to verify the authenticity of a client-supplied, pre-decoded JWT object passed through GraphQL subscription connectionParams. As a result, any unauthenticated remote client that can open a GraphQL-over-WebSocket connection can forge arbitrary JWT claims (e.g. sub, roles) in connectionParams.jwt and have them accepted as authenticated identity for the purposes of @authentication and @subscriptionsAuthorization directive evaluation. This allows a fully unauthenticated attacker to receive subscription events that should be restricted to specific authenticated roles/users. Upgrade the library to versions 7.5.6+ or 5.12.14+. v6 is end-of-life and will not receive a fix.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
@neo4j/graphql libraryto a version that resolves this vulnerability.Fixed in 7.5.6 - Upgrade
Upgrade
@neo4j/graphql libraryto a version that resolves this vulnerability.Fixed in 5.12.14
Event History
Frequently Asked Questions
What is the severity of CVE-2026-5423?
The severity of CVE-2026-5423 is rated at 80, indicating a high risk for exploitation.
How does CVE-2026-5423 affect Neo4j applications?
CVE-2026-5423 allows unauthenticated remote clients to forge arbitrary JWT tokens through compromised GraphQL-over-WebSocket connections.
How do I fix CVE-2026-5423?
To fix CVE-2026-5423, upgrade the @neo4j/graphql library to version 7.5.6 or later.
What versions of Neo4j are affected by CVE-2026-5423?
CVE-2026-5423 affects all versions of the @neo4j/graphql library prior to 7.5.6.
Is there a workaround for CVE-2026-5423 if I cannot upgrade?
There is no recommended workaround for CVE-2026-5423, and upgrading is the best solution.