
PostgreSQLのターミナル型フロントエンド「psql」で重大度の高い脆弱性(CVE-2025-1094)が発生しています。パッチがリリースされているのバージョンする事をお勧めします。
影響を受けるバージョン
CVE-2025-1094の影響を受けるのは、以下のPostgreSQLのすべてのサポート対象バージョンです
- PostgreSQL 17.2以前
- PostgreSQL 16.6以前
- PostgreSQL 15.10以前
- PostgreSQL 14.15以前
- PostgreSQL 13.18以前
対策バージョン
PostgreSQLの公式パッチは以下のバージョンで提供されています
- PostgreSQL 17.3
- PostgreSQL 16.7
- PostgreSQL 15.11
- PostgreSQL 14.16
- PostgreSQL 13.19
脆弱性 CVE-2025-1094 の概要
CVE-2025-1094は、PostgreSQLの文字列エスケープ処理の誤った仮定に起因します。開発者は、攻撃者が制御する不正な入力をエスケープすることでSQLインジェクションを防げると考えていましたが、特定の条件下では依然としてSQLインジェクションが可能であることが明らかになりました。
特に、以下の点が問題となっています:
- 無効なUTF-8文字の処理:PostgreSQLのエスケープルーチンは、無効なUTF-8文字を適切に処理できない場合がある。
- psqlのバイト列処理の挙動:無効なバイト列がSQLステートメント内で処理される際に、予期しないSQLインジェクションが発生する可能性がある。
この結果、攻撃者は細工したデータを入力することでSQLインジェクションを発生させ、任意のSQLクエリの実行や、最終的には任意のコードの実行(Arbitrary Code Execution, ACE) を引き起こすことが可能となります。
参照
CVE-2025-1094: PostgreSQL psql SQL injection (FIXED)