Incomplete evaluation of multi-condition JWT where filter in @authentication in @neo4j/graphql
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
| Vendor | Product | Default status | Versions | ||||||
|---|---|---|---|---|---|---|---|---|---|
| Neo4j | @neo4j/graphql | unaffected |
|
No data.
No data.
| Vendor | Product | Versions | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Neo4j | Graphql |
|
Vendor Solution
Upgrade @neo4j/graphql to version 7.6.7 or later.
Vendor Workaround
For versions prior to 7.6.7, express multi-condition jwt where filters either with an explicit AND array (for example jwt: { AND: [{ iss: { eq: "https://idp.example.com" } }, { roles: { includes: "admin" } }] }) or with the inline operator syntax (for example roles_INCLUDES: "admin"). Both forms evaluate all conditions.
No CVSS v3.1
No CVSS v3.0
No CVSS v2
This CVE is not in the KEV list.
Exploit prediction score: < 1% (0.477% probability within 30 days)
Key SSVC decision points have not yet been added.
| Type | Values Removed | Values Added |
|---|---|---|
| First Time appeared |
Neo4j
Neo4j graphql |
|
| Vendors & Products |
Neo4j
Neo4j graphql |
| Type | Values Removed | Values Added |
|---|---|---|
| Description | Incorrect authorization in the @authentication directive JWT where filter evaluation in Neo4j @neo4j/graphql versions 7.0.0 before 7.6.7 allows an attacker holding an otherwise-valid JWT to bypass all but the first filter condition via a multi-condition jwt where filter written in generic operator syntax. | |
| Title | Incomplete evaluation of multi-condition JWT where filter in @authentication in @neo4j/graphql | |
| Weaknesses | CWE-863 | |
| References |
| |
| Metrics |
cvssV4_0
|