つみかさね

CVE-2026-69240

Critical(9.8)

SequelizeのOracleダイアレクトSQLインジェクション CVE-2026-69240:影響範囲と対応方法

公開日: 2026-08-03データソース: NVD, GitHub Advisory

影響を受けるソフトウェア

製品ベンダー影響バージョン
sequelizesequelize< 6.37.4(dialect: oracle)

対応ガイド

high|対応必須セキュリティ修正影響: 限定的

推奨アクション

  1. 1npm list sequelize でバージョンを確認する
  2. 2接続設定の dialect が oracle かどうかを確認する
  3. 3Sequelize 6.37.4 以降へアップグレードする

影響対象

Sequelize(dialect: oracle)を使用するNode.jsアプリケーション

対応不要な人

  • Sequelize 6.37.4 以降を使用中
  • Oracle以外のダイアレクトを使用している
  • Sequelizeを使用していない

補足

  • -本脆弱性は dialect: oracle の場合のみ影響します
  • -Oracle以外のダイアレクトでは影響を受けません
CVESequelizeSQLインジェクションOraclenpmNode.js

30秒で判断

対応すべき人:

  • Sequelize 6.37.4 より前を使用している
  • かつ dialect: oracle で Oracle Database に接続している

対応不要な人:

  • Sequelize 6.37.4 以降へアップグレード済み
  • Oracle 以外のダイアレクト(MySQL, PostgreSQL, SQLite, MSSQL 等)を使用している
  • Sequelize を使用していない

確認コマンド:

npm list sequelize
# ダイアレクト設定を確認
grep -R "dialect" --include=*.js --include=*.ts .

概要

Sequelize は Node.js の代表的なORMです。6.37.4 より前のバージョンでは、sql-string.js に定義されたエスケープ関数が、値が TO_TIMESTAMP または TO_DATE で始まる文字列の場合にシングルクォートをエスケープせず、その値をそのまま返してしまいます。

Oracle ダイアレクトにおいて、この経路に到達するアプリケーション値を通じて、攻撃者が 任意のSQL式を注入 できてしまいます(CWE-89 SQLインジェクション)。認証不要・ネットワーク経由で悪用可能なため、CVSS は 9.8 と評価されています。

なお、本問題は dialectoracle に設定されている場合のみ 影響します。


CVSSベクトル

項目
CVSSスコア9.8(Critical)
CWECWE-89(SQLインジェクション)
攻撃元区分 (AV)ネットワーク (N)
攻撃条件の複雑さ (AC)低 (L)
必要な特権 (PR)なし (N)
ユーザーの関与 (UI)不要 (N)

影響を受けるソフトウェア

製品影響バージョン
sequelize(npm)6.37.4 より前(dialect: oracle 利用時のみ)

修正バージョンと回避策

修正バージョン: Sequelize 6.37.4

npm install sequelize@6.37.4
# または
npm install sequelize@latest

暫定策として、ユーザー入力値が TO_TIMESTAMP / TO_DATE で始まる文字列としてクエリに渡らないよう入力検証・バインドパラメータの徹底も有効です。


関連リンク


データソース: NVD (NIST), GitHub Advisory Database AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。

Xでシェアはてブ
データソース: NVD (NIST), OSV (Google), GitHub Advisory Database, JVN iPedia (IPA/JPCERT/CC)
AI解説は Claude API により自動生成されています。正確性については原文をご確認ください。