Neo4j graphql: insecure direct object reference
High7.6CVE-2026-19869 · Published Aug 18, 2026 · updated Sep 9, 2026
@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.
Affected versions
| Package | Affected | Fixed in |
|---|---|---|
| graphql Product | >= 7.0.0, < 7.6.0 | 7.6.0 |
| >= 5.2.0, < 5.12.15 | 5.12.15 | |
| >= 6.0.0, <= 6.6.4 | No fix yet |
Details and references
- CVSS 4.0
- CVSS:4.0/AV:N/AC:L/AT:P/PR:L/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
- Severity from
- the vendor (its own CVE record or advisory)
- Weakness
- CWE-639
More Neo4j advisories
All Neo4j| Date | Advisory | Severity | Fixed in |
|---|---|---|---|
| Aug 6 | @neo4j/graphql library versions prior to 7.5.6 fail to verify the authenticity... | High8.2 | 7.5.6+1 more |
| Aug 5 | Neo4j's Bolt modern handshake decoder treats an overlong capability bit mask... | Medium5.5 | Enterprise Edition 2026.07+2 more |