{"id":"CVE-2026-19869","summary":"Privilege Escalation via Dropped Field-Level @authentication","details":"@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.","aliases":["GHSA-82m8-p9px-c3x5"],"modified":"2026-09-11T03:31:00.216249363Z","published":"2026-08-18T16:35:19.878Z","database_specific":{"cna_assigner":"Neo4j","cwe_ids":["CWE-639"],"osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/19xxx/CVE-2026-19869.json"},"references":[{"type":"WEB","url":"https://registry.npmjs.org"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/19xxx/CVE-2026-19869.json"},{"type":"ADVISORY","url":"https://github.com/neo4j/graphql/security/advisories/GHSA-82m8-p9px-c3x5"},{"type":"ADVISORY","url":"https://neo4j.com/security/CVE-2026-19869"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-19869"},{"type":"PACKAGE","url":"https://github.com/neo4j/graphql"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://github.com/neo4j/graphql","events":[{"introduced":"16bb032f8a6ffa1d3348a228c6f2b89eeefdb4a5"},{"fixed":"7f434467ffc60321bf9fa5500a012b7897153971"},{"introduced":"663f1cd08fcfbbb8b2373453feb86ec9390e1e64"},{"fixed":"40dbc3eb080d28a94a9493452ecc9cc8130460ea"},{"introduced":"2d8a04046d6735b5abd8510a68f1a90ef585675d"},{"last_affected":"02c5a802f5d2f689bf4751cd6109513479518bd4"}],"database_specific":{"extracted_events":[{"introduced":"7.0.0"},{"fixed":"7.6.0"},{"introduced":"5.2.0"},{"fixed":"5.12.15"},{"introduced":"6.0.0"},{"last_affected":"6.6.4"}],"source":"AFFECTED_FIELD"}}],"versions":["@neo4j/graphql@5.12.14","@neo4j/graphql-ogm@5.12.14","@neo4j/graphql@7.5.6","@neo4j/graphql@5.12.12","@neo4j/graphql-ogm@5.12.12","@neo4j/graphql@5.12.11","@neo4j/graphql-ogm@5.12.11","@neo4j/graphql@7.5.4","@neo4j/graphql@7.5.3","@neo4j/graphql@7.5.2","@neo4j/graphql@7.5.1","@neo4j/graphql@7.5.0","@neo4j/graphql@7.4.4","@neo4j/graphql@7.4.3","@neo4j/graphql@7.4.2","@neo4j/graphql@7.4.1","@neo4j/graphql@7.4.0","@neo4j/graphql@7.3.3","@neo4j/graphql@7.3.2","@neo4j/graphql@7.3.1","@neo4j/introspector@5.0.1","@neo4j/graphql@6.6.4","@neo4j/graphql@7.3.0","@neo4j/graphql@7.2.13","@neo4j/graphql@7.2.12","@neo4j/graphql@5.12.10","@neo4j/graphql-ogm@5.12.10","@neo4j/graphql@5.12.9","@neo4j/graphql-ogm@5.12.9","@neo4j/graphql@7.2.11","@neo4j/graphql@7.2.10","@neo4j/graphql@7.2.9","@neo4j/graphql@7.2.8","@neo4j/graphql@7.2.7","@neo4j/graphql@7.2.6","@neo4j/graphql@5.12.8","@neo4j/graphql-ogm@5.12.8","@neo4j/graphql@7.2.5","@neo4j/graphql@6.6.3","@neo4j/graphql@7.2.4","@neo4j/graphql@7.2.3","@neo4j/graphql@5.12.7","@neo4j/graphql-ogm@5.12.7","@neo4j/graphql@7.2.2","@neo4j/graphql@7.2.1","@neo4j/graphql@7.2.0","@neo4j/graphql@5.12.6","@neo4j/graphql-ogm@5.12.6","@neo4j/graphql@5.12.5","@neo4j/graphql-ogm@5.12.5","@neo4j/graphql@7.1.3","@neo4j/graphql@6.6.2","@neo4j/graphql@7.1.2","@neo4j/graphql@5.12.4","@neo4j/graphql-ogm@5.12.4","@neo4j/graphql@5.12.3","@neo4j/graphql-ogm@5.12.3","@neo4j/graphql@5.12.2","@neo4j/graphql-ogm@5.12.2","@neo4j/graphql@7.1.1","@neo4j/graphql@7.1.0","@neo4j/introspector@5.0.0","@neo4j/graphql@7.0.0","@neo4j/graphql@6.6.1","@neo4j/graphql@6.6.0","@neo4j/graphql@5.12.1","@neo4j/graphql-ogm@5.12.1","@neo4j/graphql@6.5.3","@neo4j/graphql-amqp-subscriptions-engine@2.0.1","@neo4j/graphql@6.5.2","@neo4j/graphql@6.5.1","@neo4j/graphql@6.5.0","@neo4j/graphql@6.4.0","@neo4j/graphql@5.12.0","@neo4j/graphql-ogm@5.12.0","@neo4j/graphql@6.3.1","@neo4j/graphql@5.11.5","@neo4j/graphql-ogm@5.11.5","@neo4j/graphql@5.11.4","@neo4j/graphql-ogm@5.11.4","@neo4j/graphql@6.3.0","@neo4j/graphql@5.11.3","@neo4j/graphql-ogm@5.11.3","@neo4j/graphql@6.2.3","@neo4j/introspector@4.0.1","@neo4j/graphql@6.2.2","@neo4j/introspector@3.0.2","@neo4j/graphql@5.11.2","@neo4j/graphql-ogm@5.11.2","@neo4j/graphql@5.11.1","@neo4j/graphql-ogm@5.11.1","@neo4j/graphql@6.2.1","@neo4j/graphql@5.11.0","@neo4j/graphql-ogm@5.11.0","@neo4j/graphql@6.2.0","@neo4j/graphql@6.1.1","@neo4j/graphql@5.10.0","@neo4j/graphql-ogm@5.10.0","@neo4j/graphql@6.1.0","@neo4j/introspector@4.0.0","@neo4j/graphql@6.0.0","@neo4j/graphql@5.9.2","@neo4j/graphql-ogm@5.9.2","@neo4j/graphql@5.9.1","@neo4j/graphql-ogm@5.9.1","@neo4j/graphql@5.9.0","@neo4j/graphql-ogm@5.9.0","@neo4j/graphql@5.8.0","@neo4j/graphql-ogm@5.8.0","@neo4j/graphql@5.7.1","@neo4j/graphql-ogm@5.7.1","@neo4j/graphql@5.7.0","@neo4j/graphql-ogm@5.7.0","@neo4j/graphql@5.6.2","@neo4j/graphql-ogm@5.6.2","@neo4j/graphql@5.6.1","@neo4j/graphql-ogm@5.6.1","@neo4j/graphql@5.6.0","@neo4j/graphql-ogm@5.6.0","@neo4j/graphql@5.5.6","@neo4j/graphql-ogm@5.5.6","@neo4j/graphql@5.5.5","@neo4j/graphql-ogm@5.5.5","@neo4j/graphql@5.5.4","@neo4j/graphql-ogm@5.5.4","@neo4j/graphql@5.5.3","@neo4j/graphql-ogm@5.5.3","@neo4j/graphql@5.5.2","@neo4j/graphql-ogm@5.5.2","@neo4j/graphql@5.5.1","@neo4j/graphql-ogm@5.5.1","@neo4j/graphql@5.5.0","@neo4j/graphql-ogm@5.5.0","@neo4j/graphql@5.4.5","@neo4j/graphql-ogm@5.4.5","@neo4j/graphql@5.4.4","@neo4j/graphql-ogm@5.4.4","@neo4j/graphql@5.4.3","@neo4j/graphql-ogm@5.4.3","@neo4j/graphql@5.4.2","@neo4j/graphql-ogm@5.4.2","@neo4j/graphql@5.4.1","@neo4j/graphql-ogm@5.4.1","neo-place@0.1.5","@neo4j/graphql@5.4.0","@neo4j/graphql-ogm@5.4.0","@neo4j/graphql@5.3.6","@neo4j/graphql-ogm@5.3.6","@neo4j/graphql@5.3.5","@neo4j/graphql-ogm@5.3.5","@neo4j/introspector@3.0.1","@neo4j/graphql@5.3.4","@neo4j/graphql-ogm@5.3.4","@neo4j/graphql@5.3.3","@neo4j/graphql-ogm@5.3.3","@neo4j/graphql@5.3.2","@neo4j/graphql-ogm@5.3.2","@neo4j/graphql@5.3.1","@neo4j/graphql-ogm@5.3.1","@neo4j/graphql@5.3.0","@neo4j/graphql-ogm@5.3.0","@neo4j/graphql@5.2.0","@neo4j/graphql-toolbox@2.1.12","@neo4j/graphql-ogm@5.2.0"],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-19869.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"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"}]}