30秒で判断
- 対応すべき人:
@neo4j/graphqlを7.0.0以上7.6.7未満で使用し、@authenticationディレクティブでJWTのwhereフィルターを複数条件・汎用演算子構文で設定している方 - 対応不要な人:
@neo4j/graphqlを使用していない方、既に7.6.7以降を使用している方、JWTのwhereフィルターを単一条件のみで運用している方 - 確認コマンド:
npm ls @neo4j/graphql
概要
@neo4j/graphqlは、Neo4jデータベース向けのGraphQL APIを構築するためのライブラリです。7.0.0以上7.6.7未満のバージョンでは、@authenticationディレクティブにおけるJWTのwhereフィルター評価に不適切な認可の問題があります。
汎用演算子構文で複数条件のJWTのwhereフィルターを記述していた場合、有効なJWTを持つ攻撃者が最初の条件以外のフィルター条件を回避できる状態になっていました。認可ロジックの一部が意図せず無効化されるため、本来アクセスできないはずのデータやオペレーションに到達できる可能性があります。
CVSSベクトル
| 項目 | 内容 |
|---|---|
| CVSSスコア | 8.6 (High) |
| CVSSバージョン | 4.0 |
| 脆弱性種別 | 不正な認可(CWE-863) |
| 前提条件 | 有効なJWTを保持していること、複数条件のwhereフィルターを汎用演算子構文で設定していること |
| 影響 | 認可チェックのバイパス |
影響を受けるソフトウェア
| 製品 | ベンダー | 影響バージョン |
|---|---|---|
| @neo4j/graphql | Neo4j | 7.0.0 以上 < 7.6.7 |
修正バージョンと回避策
7.6.7で修正されています。該当バージョンを使用している場合は、7.6.7以降へのアップデートを推奨します。アップデートが難しい場合は、@authenticationディレクティブのJWTのwhereフィルターを単一条件化する、または汎用演算子構文を避けた記述に変更することで、リスクを下げられる可能性があります。
関連リンク
データソース: NVD (NIST) AI解説はClaude APIにより自動生成されています。正確性については原文をご確認ください。
