PostgreSQL の脆弱性 CVE-2025-8713/8714/8715 が FIX:任意のコード実行の可能性

Critical PostgreSQL Vulnerabilities Allow Arbitrary Code Injection During Restoration

2025/08/18 CyberSecurityNews — PostgreSQL Global Development Group が発表したのは、データベースの復元プロセス中に、攻撃者が任意のコード実行を可能にする、深刻な脆弱性 CVE-2025-8713/8714 への対処である。このアップデートにより、サポート対象の全バージョンに対して、緊急セキュリティ更新がリリースされた。これらの脆弱性が影響を及ぼす範囲は、PostgreSQL バージョン 13~17 であり、パッチ提供バージョンは 17.6/16.10/15.14/14.19/13.22 となっている。3件のセキュリティ上の欠陥のうちの2件は、PostgreSQL のバックアップおよび復元手順に依存する組織にとって、きわめて深刻なリスクとなる。

主なポイント
  • 攻撃者は、pg_dump の欠陥を悪用して、復元中に任意のコードを挿入/実行できる。
  • オプティマイザ統計情報のバグにより、権限のないユーザーが、到達できないはずのデータへのアクセスを達成する。
  • これらのリスクを軽減するためには、最新バージョンへの速やかなアップグレードが必要である。

これらの脆弱性を悪用する攻撃者は、データベース・バックアップの基盤となる pg_dump ユーティリティを介して、日常的なメンテナンス作業を潜在的な攻撃ベクターに変えてしまう。

悪意の特権アカウントによるコード・インジェクション脆弱性

最も深刻な脆弱性 CVE-2025-8714 (CVSS:8.8) は、オリジン・サーバ上の悪意の特権アカウントによる、リストア中の任意のコード挿入を許すものである。

この脆弱性における攻撃ベクターは、pg_dump の信頼できないデータ・インクルードを悪用する攻撃者に対して、バックアップ・ファイル内への悪意の psql メタコマンドの埋め込みを許すものだ。さらに、この脆弱性を悪用する管理者が、侵害したバックアップを psql を用いてリストアすると、そこに埋め込まれたコマンドが、リストアを実行したクライアント OS アカウントの権限で実行されるようになる。

この攻撃手法は MySQL の CVE-2024-21096 のときと類似しており、データベース・プラットフォーム間でのダンプ・ユーティリティの悪用パターンが、広範に及んでいることを示唆している。

また、この脆弱性 CVE-2025-8714 が影響を及ぼす範囲は、主要な pg_dump ユーティリティだけではなく、クラスタ全体のバックアップを行う pg_dumpall、および、プレーン・フォーマット・ダンプを生成する pg_restore にも及ぶ。

なお、この重大な脆弱性は、セキュリティ研究者の Martin Rakhmanov/Matthieu Denais/RyotaK が発見し、PostgreSQL プロジェクトに報告したものだ。

2つ目の深刻な脆弱性 CVE-2025-8715 (CVSS:8.8) は、pg_dump 出力内のオブジェクト名における、改行文字の不適切な無効化を許すものだ。

この脆弱性を悪用する攻撃者は、改行文字や psql メタコマンドが埋め込まれた特殊形式のオブジェクト名を持つ。データベース・オブジェクトを作成できる。そして、復元中に、これらの悪意のオブジェクト名により、psql を実行しているクライアント・システムでのコード実行が達成され、ターゲット・データベース・サーバの特権アカウントとして、SQL インジェクションが引き起こされる可能性が生じる。

また、この脆弱性は、セキュリティ対策の後退を示している。つまり、この脆弱性が、バージョン 11.20 で再混入する前に、脆弱性 CVE-2012-0868 に対する修正により、同様の攻撃パターンが対処されていた。

今回の CVE-2025-8715 は、pg_dumpall/pg_restore/pg_upgrade などを含む、複数の PostgreSQL ユーティリティに影響を及ぼし、多様なデータベース・メンテナンス操作において、潜在的な攻撃対象領域を拡大するものとなっている。

なお、この脆弱性は、PostgreSQL のコントリビュータである Noah Misch が、特定/報告したものである。

3つ目の脆弱性 CVE-2025-8713 は、PostgreSQL のオプティマイザ統計機能に影響を及ぼす、軽微ながらも深刻な情報漏洩の欠陥である。

この脆弱性は、CVSS スコア 3.1 と評価されており、ACL (access control list) や Row セキュリティ・ポリシーで制限されているビュー/パーティション/子テーブル内のサンプリングされたデータへの、ユーザーによる不正アクセスを可能にしてしまう。

CVETitleCVSS v3.1 ScoreSeverity
CVE-2025-8714pg_dump lets superuser execute arbitrary code in psql client8.8High
CVE-2025-8715pg_dump newline in object name executes arbitrary code8.8High
CVE-2025-8713Optimizer statistics expose sampled data in restricted views3.1Low

これらの脆弱性を修正するには、2025年8月14日にリリースされた、バグ修正済みの PostgreSQL 17.6/16.10/15.14/14.19/13.22 へと、アップグレードする必要がある。

また、ユーザー組織にとって必要なことは、データベース管理ツールに対して厳格なアクセス制御を実施し、信頼できないソースからのダンプを検証し、復元作業アカウントに対して最小権限の原則を適用することである。