pgAdminの脆弱性(Critical: CVE-2025-2945, CVE-2025-2946)

04/06/2025にpgAdminの脆弱性(Critical: CVE-2025-2945, CVE-2025-2946)が公開されました。今回はこちらの脆弱性の概要と、各ディストリビューションの対応について纏めます。

一次情報源

CVSS/プライオリティ

修正方法

各ディストリビューションの情報を確認してください。

CVE概要(詳細はCVEのサイトをご確認ください)

  • https://www.cve.org/CVERecord?id=CVE-2025-2945
    • pgAdmin 4: Query Tool / Cloud Deploymentでのリモートコード実行
    • pgAdmin 4(Query Tool / Cloud Deployment)で、リモートコード実行が可能になる脆弱性が見つかりました。この脆弱性は2つのPOSTエンドポイント: query_commitedパラメータが存在する/sqleditor/query_tool/downloadと、high_availabilityパラメータが存在する/cloud/deployエンドポイントで、パラメータがPythonのeval()に安全に渡されず、それにより任意のコードが実行されてしまう可能性があります。この問題はpgAdmin 4の9.2より前のバージョンに影響します。
  • https://www.cve.org/CVERecord?id=CVE-2025-2946
    • Query Tool / View/Edit DataでのXSSによりHTML/Javascriptコードがレンダリングの際に実行可能になる脆弱性
    • 悪意のあるJavaScriptペイロードが含まれたデータを取得するクエリをユーザが実行すると、PgAdminが正しいサニタイズを行わずに結果をレンダリングします。これにより、ブラウザ内に埋め込まれたスクリプトが即座に実行されます。

PoC

  • CVE-2025-2945
  • CVE-2025-2946: 再現手順
    1. pgAdminを開き、任意のデータベースインスタンスに接続します。
    2. クエリツールに移動します。
    3. 次のSQLコマンドを実行します。 CREATE TABLE IF NOT EXISTS EXPALUM (TEXT_SAMPLE VARCHAR(255)); — TRUNCATE TABLE EXPALUM; INSERT INTO EXPALUM (TEXT_SAMPLE) VALUES (‘‘); SELECT * FROM EXPALUM;
    4. SELECTステートメントを実行すると、JavaScriptがQuery Result Gridで直接実行され、アラートボックスがトリガーされます。

主なディストリビューションの対応方法

詳細は、各ディストリビューションの提供元にご確認ください

対処方法

各ディストリビューションの案内に従い、アップデートを行ってください。

[参考]

タイトルとURLをコピーしました