CVE-2026-19869
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
Summary
@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 Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| neo4j | graphql | 7.0.0 < 7.6.0 | affected |
| neo4j | graphql | 5.2.0 < 5.12.15 | affected |
| neo4j | graphql | 6.0.0 <= 6.6.4 | affected |
Weaknesses
- CWE-639: CWE-639 Authorization bypass through User-Controlled key
ADP Enrichment
CISA ADP Vulnrichment
- SSVC:
- Exploitation: none
- Automatable: no
- Technical Impact: total
References
- https://github.com/neo4j/graphql/security/advisories/GHSA-82m8-p9px-c3x5
- https://neo4j.com/security/CVE-2026-19869
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.