Asayomu Tech
注目★★★★★GitHub Advisory

Dgraph の checkUserPassword に DQL インジェクション脆弱性、パスワード入力で任意クエリ実行可能

30秒で把握

  • 1Dgraph の checkUserPassword GraphQL クエリに DQL インジェクション脆弱性・fmt.Sprintf でパスワードをエスケープなし埋め込み
  • 2ダブルクォート含むペイロードで文字列リテラル脱出・任意 DQL クエリを追加実行可能・認証フロー経由でデータベース改ざんリスク
  • 3query_rewriter.go と graphquery.go の入力検証を再確認・本番稼働中の Dgraph は早期にパッチ版への更新計画を立案

要約

Dgraph の checkUserPassword GraphQL クエリに DQL インジェクション脆弱性が存在する。パスワード値が fmt.Sprintf でエスケープなしにチェック関数に直接埋め込まれており、ダブルクォートを含むペイロードで文字列リテラルを脱出し任意の DQL クエリを追加実行できる。query_rewriter.go 約 364 行目の checkpwd() 関数構築とその後の graphquery.go での直列化が原因。

あなたへの影響

Dgraph を本番環境で動作させる場合。

推奨:checkUserPassword クエリの入力値検証ルールと脆弱性パッチの配信予定を確認し、デモ環境で挙動を検証した上で定期的なセキュリティアップデートを適用する必要がある。

詳細を読む → 元記事へ※ 本文は元記事をご確認ください (asayomu は要約のみ提供)

関連する記事

※ 外部記事の権利は原著作者に帰属します。著作権削除要請は copyright@asayomu.jp までご連絡ください(受領確認 24h・実処理 72h 以内)。