ADOdbのPostgreSQLドライバに深刻なSQLインジェクションの脆弱性(CVE-2025-46337)

セキュリティニュース

投稿日時: 更新日時:

ADOdbのPostgreSQLドライバに深刻なSQLインジェクションの脆弱性(CVE-2025-46337)

2025年5月、PHP向けの著名なデータベース抽象化ライブラリADOdbにおいて、PostgreSQLドライバのpg_insert_id()メソッドに深刻なSQLインジェクションの脆弱性が発見されました。この脆弱性はCVE-2025-46337として追跡されており、CVSSスコアは最高の10.0が付与されています。

ADOdbは全世界で280万件以上のインストール実績があり、Webアプリケーションや業務システムで広く使用されているため、影響範囲は極めて広範です。

影響を受けるバージョンと対象ドライバ

この脆弱性(CVE-2025-46337)は、ADOdbライブラリの古いバージョンに存在し、特にPostgreSQL(ポストグレス)用のドライバを使用している場合に影響を及ぼします。

影響を受けるバージョン

  • ADOdb バージョン 5.22.8 以下

対象となるPostgreSQLドライバ

  • postgres64 ドライバ

  • postgres7 ドライバ

  • postgres8 ドライバ

  • postgres9 ドライバ

これらはいずれも、PostgreSQLデータベースに接続するためにADOdbが用意している接続モードの違いを表すドライバです。
特にレガシーなアプリケーションやPHPベースのCMS・業務システムで利用されているケースが多く、バージョン確認が必須です。

脆弱性の対策バージョン

ADOdbバージョン5.22.9以降

脆弱性 CVE-2025-46337 の概要

この脆弱性は、ADOdbがPostgreSQLに接続する際に、ユーザー入力をpg_insert_id()メソッドの$fieldnameパラメータとして受け取った場合に発生します。

不適切なエスケープ処理により、悪意のある入力がSQL文に埋め込まれることで、以下のようなリスクが発生します:

  • 任意のSQL文の実行

  • データの読み取り・改ざん・削除

  • データベース権限次第では、リモートコード実行の可能性も

特に、pg_insert_id()にHTTPリクエストやフォーム入力などのユーザー入力を直接渡している場合には、重大な影響を受ける可能性があります。

本脆弱性は、サーバー側で意識せずにユーザー入力を受け入れているシナリオで簡単に悪用可能なため、業務システムやWebサービスに直結する重大リスクを内包しています。

PHPやPostgreSQLを利用したアプリケーションを開発・運用している全ての関係者に対し、速やかなアップデートとコードレビューの実施を強く推奨します。