GHSA-58qp-3mmm-5vh8: Incomplete evaluation of multi-condition JWT where filter in @authentication in @neo4j/graphql
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.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
@neo4j/graphqlto a version that resolves this vulnerability.Fixed in 7.6.7
Event History
Frequently Asked Questions
Which deployments are affected?
Neo4j @neo4j/graphql versions 7.0.0 before 7.6.7 are affected when they use the @authentication directive with a JWT where filter containing multiple conditions written in generic operator syntax.
What does an attacker need to exploit this issue?
An attacker needs an otherwise-valid JWT. No user interaction is required, and the attacker may bypass every filter condition except the first one in an affected multi-condition filter.
Are single-condition JWT where filters affected?
The issue is described specifically for multi-condition JWT where filters written in generic operator syntax. The provided information does not indicate that single-condition filters are affected.
How can I tell whether my application is exposed?
Review @authentication directive JWT where filters for multiple conditions expressed using generic operator syntax, and check whether the deployed @neo4j/graphql version is from 7.0.0 through before 7.6.7.