要点
- PostgreSQL の開発チームが、2026年11月12日(米国時間の公開日)に多数のセキュリティ欠陥(CVE)を一度に修正した。The Hacker News は52件と報じている。
- 注目される CVE-2026-6460 は、テーブルなどを作れるユーザーが、DB サーバーの OS 上でコードを動かせる欠陥である。
- 公式の発表では、悪用の報告は確認できなかった。ただし古い版は全部当たるので、更新が要る。
何が起きたか
PostgreSQL Global Development Group は、18.7、17.12、16.16、15.20、14.25 を公開した。修正された欠陥の数は、The Hacker News の報道では52件である。同紙によると、開発チームは52件のうち32件を、リリースで最も高い CVSS 8.8 と評価している。中には、SQL インジェクション(命令の混ぜ込み)につながりうるものもある。
目玉は CVE-2026-6460 である。公式の advisory によると、列の型を変える操作などをきっかけに、データの型の取り違えが起きる。その結果、オブジェクトを作れるユーザーが、PostgreSQL を動かしている OS ユーザーの権限でコードを実行できる。評価点(CVSS)は 8.8 で「高」だ。回避策は示されておらず、対策は更新だけである。
欠陥の根は、2004年に追加された機能にさかのぼるとされる。これは報告した研究者 Mehmet Ince 氏の説明による。同氏は技術的な解説記事を公開している。
ほかに、クライアント側の道具(pg_restore や pg_dump など)の欠陥も直った。細工したバックアップを読み込ませると、不正な動作につながるものだ。
なお、14 系は今回が最後の更新で、サポートが終わった。
日本の利用者への影響
PostgreSQL は日本でも業務システムや Web サービスで広く使われている。日本の組織への影響については、今回見た一次情報に言及がない。
当たる条件は、DB にログインでき、かつオブジェクトを作れる権限があることだ。外部の誰でも直ちに狙える欠陥ではない。ただし、アプリの欠陥や盗まれたパスワードで、その権限が奪われる場合は話が変わる。複数の部署や顧客で DB を共有している環境では、特に気をつけたい。
マネージド DB(クラウド事業者が運用する DB)の対応状況は、今回確認できなかった。報道では、研究者が AWS、Azure、Google AlloyDB などに概念実証を事前に渡したとされるが、各社の修正状況は未確認である。
今すぐやること
- 自社や委託先が使う PostgreSQL の版を洗い出す。18、17、16、15、14 のどれでも、上の修正版より前なら当たる。
- 自分たちで運用している DB は、自分の系列の修正版へ更新する。公式によると、ダンプと再読み込みは要らず、バイナリの入れ替えで済む。
- 14 系を使っているなら、移行計画を立てる。今後は修正が出ない。
- 独自に作った拡張機能(C 言語製)があれば、作り直しが要る。公式リリースノートがそう述べている。RPM 系 Linux(RHEL、Rocky Linux、AlmaLinux、Fedora、Amazon Linux)向けの拡張は、再構築済みのものが配られている。Debian や Ubuntu などのパッケージ版は、今回確認できていない。
- マネージド DB は、事業者の告知や管理画面で、修正版への適用状況を確かめる。自動更新の予定日も見ておく。あわせて、オブジェクトを作れるユーザーを必要最小限にする。
背景
DB は、一部のユーザーに強い権限を渡して運用することが多い。その権限から OS まで届く欠陥は、「DB の中だけの話」では済まなくなる。今回は、そうした境界のゆるみが一度に大量に直った回である。
同じリリースでは、インデックス(検索用の索引)が壊れる不具合も直った。該当する場合は、更新後に作り直しが要る。
技術者向けの詳細
- 修正版: 18.7 / 17.12 / 16.16 / 15.20 / 14.25(2026-11-12)。それ以前の各版が対象。
- CVE-2026-6460: CVSS 3.0 で 8.8(AV:N/AC:L/PR:L/UI:N)。中核サーバーの欠陥。
- 修正は複合型の値に版管理を加えるもの。C 言語拡張は 18.7 などに対して再ビルドが必要で、ソース変更が要る拡張もある(リリースノートより)。
composite_type_mismatchパラメータでこの検査を切れるが、安全性が下がると記されている。- RPM 系は再ビルド済みの拡張が配布されている。更新には
dnf updateを使う(yum.postgresql.org の告知)。 - 更新後の作業: GIN インデックス、
pg_trgmのgist_trgm_ops、bpchar列の B-tree、REINDEX CONCURRENTLY後の TOAST 表は、該当すれば REINDEX。増分バックアップを使うなら、更新後に新しいフルバックアップを取ることが推奨されている。 - 確認:
SELECT version(); - 他の例: CVE-2026-116322(キャンセル要求の処理)、CVE-2026-116314(pg_restore の範囲外アクセスとパス移動)。詳細はリリースノートを参照。

