MySQLjs SQL インジェクション認証バイパス

high Web App Scanning プラグイン ID 113162

概要

MySQLjs SQL インジェクション認証バイパス

説明

SQL インジェクションは、事前のサニタイズなしで、クライアントのリクエストから発信された値が SQL クエリ内で使用される場合に発生します。通常、クエリエスケープ関数またはプレースホルダーは、SQL インジェクションを防ぐことが知られています。ただし、mysqljs/mysql は異なる値タイプに対して異なるエスケープメソッドを持つことが知られており、攻撃者が異なる値タイプでパラメーターを渡すと、予期しない動作を引き起こす可能性があります。

スキャナーが認証メカニズムをバイパスし、認証されたページにアクセスできるため、このインジェクションが検出されました。

ソリューション

createConnection を呼び出す際に stringifyObjects オプションを追加するか、SQL クエリが実行される前に型コントロールを追加します。

参考資料

https://flattsecurity.medium.com/finding-an-unseen-sql-injection-by-bypassing-escape-functions-in-mysqljs-mysql-90b27f6542b4

https://github.com/mysqljs/mysql

プラグインの詳細

深刻度: High

ID: 113162

タイプ: remote

ファミリー: Injection

公開日: 2022/3/1

更新日: 2025/1/29

スキャン テンプレート: pci, scan

リスク情報

VPR

リスクファクター: Medium

スコア: 6.2

CVSS v2

リスクファクター: High

基本値: 9

ベクトル: CVSS2#AV:N/AC:L/Au:N/C:C/I:P/A:P

CVSS スコアのソース: Tenable

CVSS v3

リスクファクター: High

基本値: 8.6

ベクトル: CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:L/A:L

CVSS スコアのソース: Tenable

CVSS v4

リスクファクター: High

Base Score: 7.2

Vector: CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:P/VC:H/VI:L/VA:L/SC:L/SI:L/SA:L

CVSS スコアのソース: Tenable

参照情報