Skip to main content

Neo4j GraphQL EUVDEUVD-2026-54094

| CVE-2026-5423 HIGH
Authentication Bypass by Assumed-Immutable Data (CWE-302)
2026-08-06 Neo4j
8.2
CVSS 4.0 · Vendor: Neo4j
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify exposed GraphQL WebSocket subscription endpoint
  2. Delivery
    Initiate unauthenticated WebSocket connection
  3. Exploit
    Forge arbitrary JWT claims in connectionParams.jwt
  4. Execution
    Library accepts forged identity without signature verification
  5. Persist
    Bypass @subscriptionsAuthorization directive evaluation
  6. Impact
    Receive restricted subscription event stream

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A07:2025 - Authentication Failures
ASVS 5.0
V6 - Authentication Data mutability checks in auth
Exploitation Conditions

Exploitation requires that the target application uses @neo4j/graphql for GraphQL subscriptions via WebSocket (graphql-ws transport) and that at least one subscription type is protected by @authentication or @subscriptionsAuthorization directives. The application must also allow unauthenticated WebSocket connection initiation - if a network gateway or reverse proxy enforces bearer-token authentication before a WebSocket upgrade, the vulnerability is mitigated at that layer. The flaw is limited to the subscription authorization path; query and mutation authorization directives are not affected by this specific bypass. Exploitation does not require any prior account, session, or knowledge of a valid user's credentials. What limits impact is that the attacker gains only read access to subscription event streams - no write, delete, or server-side execution capability is exposed by this vulnerability alone.

Impact

The CVSS 4.0 score of 8.2 (AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N) reflects a high-impact, low-complexity, unauthenticated network attack with a specific attack prerequisite (AT:P). The AT:P metric is key: exploitation requires that the target application exposes a GraphQL WebSocket subscription endpoint and uses @authentication or @subscriptionsAuthorization directives. Without those conditions, the library is not vulnerable in practice. The confidentiality impact is high (VC:H) - unauthorized access to subscription event streams - while integrity and availability are unaffected, bounding overall risk. No EPSS data was provided, no CISA KEV listing exists, and no public proof-of-concept has been identified, suggesting this has not yet seen opportunistic exploitation. However, the low technical skill required to craft a forged connectionParams.jwt and the complete absence of any authentication barrier make this a straightforward exploit once an attacker identifies an affected subscription endpoint, so patching should be treated as urgent for any deployment relying on subscription-level authorization.

Exploit ScenarioDerived

An unauthenticated attacker identifies an application exposing a @neo4j/graphql WebSocket subscription endpoint that uses @subscriptionsAuthorization directives to gate access to sensitive events (e.g., order updates, private messages, or financial transactions). The attacker initiates a WebSocket connection and passes a crafted connectionParams.jwt object containing forged claims - for example, sub: 'admin' or roles: ['ADMIN'] - without possessing any valid token or credentials. The library accepts these claims as authenticated identity and begins streaming restricted subscription events to the attacker. No public proof-of-concept code has been identified, but the attack requires only standard WebSocket tooling and knowledge of the expected JWT claim structure.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
1 public PoC Patch available 0.3% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Aug 06, 2026

JWT authentication bypass in @neo4j/graphql allows unauthenticated remote clients to forge arbitrary JWT claims over GraphQL-over-WebSocket connections, bypassing @authentication and @subscriptionsAuthorization directive controls. Affected library versions prior to 7.5.6 (v7 branch) and 5.12.14 (v5 branch) accept client-supplied, pre-decoded JWT objects in subscription connectionParams without any cryptographic verification, meaning the library treats attacker-controlled identity claims as authenticated. No public exploit or KEV listing has been identified at time of analysis, but the exploitation barrier is low given the network-accessible vector and absence of authentication requirements.

RemediationAI

For v7 users, upgrade @neo4j/graphql to 7.5.6 or later. For v5 users, upgrade to 5.12.14 or later. Both fixes are confirmed by the vendor advisory at https://neo4j.com/security/CVE-2026-5423. For v6 users, Neo4j has confirmed no patch will be released; migration to v7 (7.5.6+) is the only supported resolution. As a compensating control where immediate upgrade is not possible, network-level restrictions on WebSocket connections to the GraphQL endpoint can reduce exposure - specifically, restricting WebSocket access to trusted internal networks or requiring a gateway that enforces JWT verification before proxying subscription connections. Note that application-level workarounds within the library are not available; any mitigation short of upgrading must be enforced externally at the network or gateway layer. Do not rely on @authentication or @subscriptionsAuthorization directives for access control on any unpatched version.

Affected VersionsENISA

GraphQL 5.0.0 <5.12.14
GraphQL 7.0.0 <7.5.6
GraphQL 6.0.0 ≤6.6.4

Affected Packages

euvd graphql fix: 5.12.14, 7.5.6

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in euvd

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The @neo4j/graphql library (CPE: cpe:2.3:a:neo4j:graphql:*:*:*:*:*:*:*:*) provides a GraphQL API layer over Neo4j graph databases. The GraphQL-over-WebSocket protocol (graphql-ws) allows clients to pass arbitrary connection parameters at connection initiation via connectionParams. The library uses these parameters - specifically a pre-decoded JWT object at connectionParams.jwt - to resolve the caller's identity for evaluating @authentication and @subscriptionsAuthorization schema directives. The root cause is CWE-302 (Authentication Bypass by Assumed-Immutable Data): the library assumes that a pre-decoded JWT supplied by the client represents a verified identity, when in fact no signature verification is performed. A correctly implemented flow would verify the JWT's cryptographic signature against a trusted key before trusting its claims. The v6 branch is end-of-life and will not receive a fix, making any v6 deployment permanently vulnerable.

Know when Neo4j gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (Neo4j) PRIMARY 8.2 HIGH
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N
vuln.today AI 7.5 HIGH

Network vector, no privileges or interaction needed; confidentiality-only impact as attacker reads restricted subscription events but cannot write or execute.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:N/A:N
4.0 AV:N/AC:L/AT:P/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N

Primary rating from Vendor (Neo4j).

CVSS VectorVendor: Neo4j

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
Present
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
None
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

2
Patch available
Aug 06, 2026 - 16:17 EUVD
CVE Published
Aug 06, 2026 - 15:15 cve.org
HIGH 8.2

DescriptionCVE.org

@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.

Latest POC

1 public PoC link from nuclei

Sign in to open the public PoC links collected for this CVE.

Executive ViewAI

Why It Matters

The @neo4j/graphql library contains an authentication bypass vulnerability allowing unauthenticated attackers to forge user identities and gain unauthorized access to GraphQL subscription data through WebSocket connections. Organizations using affected versions of this library risk unauthorized data exposure and account compromise across all systems relying on this library for subscription authentication.

Business Impact: High
Compensating Controls

Disable GraphQL WebSocket subscription endpoints unless operationally critical; implement network segmentation restricting GraphQL service access to trusted internal networks; add mandatory application-layer authentication validation independent of JWT token processing; enable comprehensive audit logging for all subscription connection attempts and authorization decisions; implement connection rate-limiting and anomaly detection on failed authentication attempts.

Threat Model

3 threats: Spoofing, Elevation of Privilege, Information Disclosure

5-step attack chain with trust boundaries and controls

Full threat model - attack chain, trust boundaries, controls per stage and evidence - is part of the Pro and Business plans.

Threat Intelligence Overview

EPSS Score
0.3%
Top 74% exploitable
Prevalence
Medium
popular Neo4j GraphQL library, enterprise graph DB niche
Data Quality
6 sources
Confidence: High

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.3%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Partial

Priority Score

41
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +41
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.

More in Neo4j

View all
CVE-2018-1000820 CRITICAL POC
10.0 Dec 20

neo4j-contrib neo4j-apoc-procedures version before commit 45bc09c contains a XML External Entity (XXE) vulnerability in

CVE-2021-34371 CRITICAL POC
9.8 Aug 05

Neo4j through 3.4.18 (with the shell server enabled) exposes an RMI service that arbitrarily deserializes Java objects,

CVE-2018-18389 CRITICAL POC
9.8 Oct 16

Due to incorrect access control in Neo4j Enterprise Database Server 3.4.x before 3.4.9, the setting of LDAP for authenti

CVE-2023-23926 HIGH POC
8.1 Feb 16

APOC (Awesome Procedures on Cypher) is an add-on library for Neo4j. Rated high severity (CVSS 8.1), this vulnerability i

CVE-2022-37423 HIGH POC
7.5 Aug 12

Neo4j APOC (Awesome Procedures on Cypher) before 4.3.0.7 and 4.x before 4.4.0.8 allows Directory Traversal to sibling di

CVE-2026-92681 CRITICAL
9.3 Oct 12

Schema-level and Query/Mutation type-level @authentication directives are silently ignored for top-level @cypher fields

CVE-2021-34802 HIGH
8.8 Jul 30

A failure in resetting the security context in some transaction actions in Neo4j Graph Database 4.2 and 4.3 could allow

CVE-2026-92682 HIGH
8.6 Oct 12

Authorization bypass in @neo4j/graphql 7.0.0 through 7.6.3 lets an authenticated user read, create, and delete records t

CVE-2026-19869 HIGH
7.6 Aug 18

Authentication bypass in @neo4j/graphql exposes admin-restricted custom-resolver fields to any authenticated user holdin

CVE-2013-7259 MEDIUM
6.8 Apr 29

Multiple cross-site request forgery (CSRF) vulnerabilities in Neo4J 1.9.2 allow remote attackers to hijack the authentic

CVE-2024-34517 MEDIUM
6.5 May 07

The Cypher component in Neo4j 5.0.0 through 5.18 mishandles IMMUTABLE privileges in some situations where an attacker al

CVE-2026-14587 MEDIUM
5.5 Aug 05

Bolt protocol handshake decoder in Neo4j Enterprise and Community Editions fails to distinguish overlong capability mask

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy