PostgreSQL 17.1, 16.5, 15.9, 14.14, 13.17, 12.21がリリース、深刻な脆弱性を修正

PostgreSQL Global Development Groupは、サポートされている全てのバージョン(12系から17系)を対象とした最新のマイナーアップデートを公開しました。今回の更新では合計41件のバグ修正に加え、2件のセキュリティ脆弱性への対応が含まれています。最も深刻なものはCVE-2024-10977として識別される脆弱性で、これは信頼されていない検索パス(search_path)を介して悪意のあるコードが実行される恐れがあるものです。攻撃者が特定の条件下で関数やプロシージャを作成できる場合、スーパーユーザーの権限で任意のコードを実行されるリスクがあるため、マルチテナント環境や共有ホスティング環境では特に警戒が必要です。
技術的な修正内容としては、セッションレベルの設定変更の厳格化と内部関数呼び出し時の安全性向上が図られています。従来は一部のパラメーター設定において意図しない動作が許容される余地がありましたが、本アップデートによってこれらが解消されました。また、論理レプリケーションにおけるメモリリークの修正や、特定のクエリ実行時におけるプランナの動作安定化など、運用の信頼性に直結する多数の修正が含まれています。特にPostgreSQL 17を利用しているユーザーにとっては、リリース後の初期バグ修正が多く含まれるため、安定稼働に向けた重要な更新となります。
実務上の影響として、管理者は速やかにアップデートを計画する必要があります。PostgreSQLのマイナーリリースはデータディレクトリの互換性が保たれているため、バイナリの入れ替えと再起動のみで適用可能です。ただし、今回修正された検索パスに関連する脆弱性への完全な対策として、アプリケーション側で使用しているスキーマ構成や権限設定を再確認することが推奨されます。また、PostgreSQL 12については2024年11月をもってサポート終了(EOL)となるため、今回のリリースが最終の予定です。該当ユーザーは上位バージョンへのメジャーアップグレード計画を早期に策定する必要があります。
フェレット記者の用語メモ
cve
CVEは、公開されているソフトウェアの脆弱性に付けられる識別子だよ。これがあるおかげで、特定の脆弱性が世界中でどう認識されているか共通言語で話せる。ただ、CVE番号だけ見て「ヤバい」と判断するのは早計で、その脆弱性が自分の環境にどう影響するか、悪用可能性はどうかまで見ないと、過剰な対応で無駄な工数を食う落とし穴があるよ。
比較: 手動での脆弱性情報収集
出典: PostgreSQL Global Development Group
要点を短く整理して掲載しています。詳細は出典を確認してください。
