Asayomu Tech
注目★★★★★GitHub Advisory

Sequelize の Oracle DB で SQL インジェクション、TO_DATE/TO_TIMESTAMP で回避可能

30秒で把握

  • 1Sequelize v6.37.3・Oracle 方言で TO_DATE/TO_TIMESTAMP 文字列がエスケープ漏れ
  • 2攻撃者が WHERE 句に任意 SQL 式を注入・データ盗難・改ざん可能
  • 3ユーザー入力を ORM に直結させる実装を検査・入力検証強化が急務

要約

Sequelize v6.37.3 で Oracle 方言使用時、`TO_DATE` または `TO_TIMESTAMP` で始まる文字列入力が適切にエスケープされず SQL インジェクションが成立する。クエリパラメータが検証なしで渡される場合、攻撃者は任意の SQL 式を注入可能だ。Oracle 方言以外は影響を受けない。

あなたへの影響

Sequelize で Oracle 方言を使う場合、v6.37.3 以上へのアップデート前に入力検証の強化が必須。

推奨:`req.query` などのユーザー入力を ORM パラメータに直接渡す実装がある場合は即座に検査し、本パッチ公開まで Prepared Statement レベルの入力サニタイズを追加することを推奨。

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

関連する記事

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