Auth bypass in Neo4j Graphql

CVE-2026-19869

@neo4j/graphql from 5.2.0 until the patched versions fails to enforce field-level @authentication rules on root custom-resolver fields when a type-level @authentication rule is also present on the same operation type. When both a type-level @authentication (on Query/Mutation) and a field-level @authentication (on a root custom-resolver field within that type) are declared, only the type-level rule is evaluated and the field-level rule is silently discarded. As a result a stricter per-field requirement — such as an admin-role JWT claim (jwt: { roles_INCLUDES: "admin" }) — is never checked, and any client that satisfies the coarser type-level requirement can invoke the more-restricted field. No token forgery is involved: a legitimately issued, correctly signed non-admin token (e.g. roles: ["user"]) is sufficient.

Vulnerability class: IDOR (Insecure Direct Object Reference)

Published · last modified .

EPSS exploit prediction

EPSS: 0.005 (39.8th percentile), scored .

Very low probability of exploitation in the next 30 days; routine patching cadence is appropriate. 40th percentile — 39.8% of CVEs in the catalogue have a lower EPSS than this one. How to read EPSS.

EPSS trend (30 days)EPSS over the last 30 days for CVE-2026-19869: held from 0.003 to 0.005.

EPSS over last 30 days · oldest: 0.003 · newest: 0.005 · change: +0.002

Affected products

Weakness classification (CWE)

References