PostgreSQLの2026年11月の定例更新で修正された、型混同による任意コード実行の脆弱性の解説です。何が起きるのか・影響範囲・対応策を、攻撃の再現手順は伏せて防御目線でまとめます。
- CVE
- CVE-2026-6460(PostgreSQL type confusion after ALTER ... SET DATA TYPE executes arbitrary code)
- 重大度
- CVSS v3.1 8.8(High。ベクターは AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H。PostgreSQLが付与)
- 種別
- 型混同(CWE-843)。データベースを動かすOSユーザーとして任意のコードを実行
- 条件
- 認証が必要。オブジェクトを作成できる利用者(低権限のアカウント)
- 対象
- PostgreSQL 14〜18(下の修正版より前)
- 修正
- 18.7 / 17.12 / 16.16 / 15.20 / 14.25(2026年11月12日公開)
- 同じ更新
- 計52件の脆弱性を修正。14.25はPostgreSQL 14の最後の更新
- 悪用状況
- 悪用の記載なし。CISA KEVの11月10日版カタログに未掲載
- 回避策
- 記載なし
PostgreSQL 14はこれ以降、修正が出ない
PostgreSQLの告知は、14.25がPostgreSQL 14の最後のリリースで、以後はセキュリティ修正もバグ修正も出ないとしています。14を使っている場合は、今回の更新を当てたうえで、サポートされている版への移行を計画してください。
どんな脆弱性か
PostgreSQLの説明は、型混同(CWE-843)により、オブジェクトを作成できる利用者が、主に ALTER ... SET DATA TYPE を経由して、データベースを動かしているOSのユーザーとして任意のコードを実行できるとしています。ほかにも、データ定義の操作を通る経路があるとされています。原因は、型を持つ値の管理が不十分で、値が自分の型を示さないため、古い値がデータ辞書のエントリやPL/pgSQLの変数などに残り得ることです。
- 条件は、データベースにログインでき、オブジェクトを作れることです。CVSSでは低い権限(PR:L)、利用者の操作は不要(UI:N)です。
- 悪用の手順や、どの操作が危険かの詳細は、当サイトは記載しません。
- 修正はPostgreSQLのコア(本体)にあり、拡張機能や非標準の設定が必要かどうかは、公式のページに記載がありません。
- CVE.org記録のCISAの評価(SSVC)は、悪用はなし、自動化は不可、技術的な影響は全面的です。
影響範囲
| 項目 | 内容 |
|---|---|
| 製品 | PostgreSQL(コア) |
| 影響を受ける版 | 18.7、17.12、16.16、15.20、14.25 より前 |
| 修正(18系) | 18.7 |
| 修正(17系) | 17.12 |
| 修正(16系) | 16.16 |
| 修正(15系) | 15.20 |
| 修正(14系) | 14.25(14の最後の更新) |
| 回避策・緩和策 | 記載なし |
- ダンプと再読み込みやpg_upgradeは要りません。PostgreSQLの告知は、サーバーを止めてバイナリを入れ替えるだけでよいとしています。
- 13以前は、すでにサポートが終了しています。このCVEの対象として公式のページに載っているのは14〜18です。
同じ更新の他の脆弱性
2026年11月12日のリリース(18.7、17.12、16.16、15.20、14.25)は、計52件のセキュリティ脆弱性と、140件を超えるバグを修正しています。この記事はCVE-2026-6460を主に扱います。
- 52件の一覧と、各CVEの深刻度・対象の版は、PostgreSQLのセキュリティ情報ページを見てください。
- 一覧には、任意コード実行や、サーバーメモリの漏えい、SQLインジェクション、権限チェックの回避など、種類の違うものが含まれます。クライアントツール(pg_dump、pg_restore、reindexdbなど)の修正も入っています。
- 更新後に追加の手順が要る修正があります(GINインデックス(破損が疑われる場合)・pg_trgmのインデックスの再作成、増分バックアップの取り直し、パーティションテーブルの制約の確認など)。リリース告知の「Updating」の節に従ってください。
自分が対象か確かめる方法
PostgreSQLの版を確認する
SELECT version(); で、サーバーの版を確かめます。18なら18.7、17なら17.12、16なら16.16、15なら15.20、14なら14.25より前だと対象です。
どこで動いているかを洗い出す
自分で運用するサーバーのほか、コンテナ、アプリに同梱されたPostgreSQL、開発・検証用の環境を含めて一覧にします。台帳の作り方は資産棚卸しチェックリストを参照してください。
オブジェクトを作成できるアカウントを確認する
データベースにログインでき、テーブルなどを作成・変更できるロールを洗い出します。アプリケーションが使うアカウントが、不要に強い権限を持っていないかを見ます。
マネージドサービスの場合は提供元の告知を見る
RDSやCloud SQLなどを使っている場合は、インスタンスの版と、提供元の対応状況を、提供元の告知で確かめます。
今日やること
マイナーバージョンを修正版へ更新する(優先)
自分の系統の修正版(18.7、17.12、16.16、15.20、14.25)以降へ更新します。更新前に、バックアップが取れて復元できることを確かめてください(バックアップの基本)。レプリカがある構成は、手順と順序を決めてから進めます。
更新後の追加手順を確認する
リリース告知の「Updating」の節で、自分の環境に当てはまるものを確かめます。GINインデックスの破損が疑われる場合はその再作成、pg_trgmのGiSTインデックスの再作成、増分バックアップを使っている場合の新しい全体バックアップなどです。
更新までの間、権限を絞る
PostgreSQLの情報に回避策はありません。当サイトの補足として、更新までの間は、オブジェクトを作成できる権限を持つアカウントを必要な最小限に絞り、アプリケーションが使うアカウントに、不要な作成権限を与えないでください。これは勧告にある対策ではなく、更新の代わりにはなりません。
マネージドサービスの適用を確認する
提供元の告知で、対応する版と適用の予定を確かめます。自動でマイナー更新が当たる設定か、メンテナンスの時間帯がいつかも見ます。
PostgreSQL 14を使っているなら、移行を計画する
14.25で更新したうえで、サポートされている版へ移行する計画を立てます。移行の期限と担当を決めてください。
悪用状況
- PostgreSQLの情報に、悪用の記載はありません。
- CVE.orgの記録のCISAの評価(SSVC)は、悪用は「none」、自動化は「no」、技術的な影響は「total」です(2026年11月12日付)。
- CISAのKEVの11月10日版カタログには載っていません。
- 攻撃の規模・手口・攻撃者についての公開情報は、確認できませんでした。
- 報告者は複数の研究者・組織で、公式のページに謝辞があります。
出典
- PostgreSQL — CVE-2026-6460(説明、影響版、修正版、CVSS 8.8、2026年11月12日)
- PostgreSQL — PostgreSQL 18.7, 17.12, 16.16, 15.20, 14.25, and 19 RC 2 Released!(52件の修正、PostgreSQL 14のサポート終了、更新後の手順)
- PostgreSQL — Security Information(52件の一覧)
- CVE.org — CVE-2026-6460(2026年11月12日公開。CWE-843、CISAのSSVC評価)
- CISA KEV — Known Exploited Vulnerabilities Catalog(11月10日版カタログに未掲載)
作成権限を絞る対策は、当サイトが一般的な防御として挙げたもので、PostgreSQLの情報に書かれた回避策ではありません。最終確認:2026年11月13日。
次に読む
- 実務:脆弱性対応の実務手順 / 資産棚卸しチェックリスト
- 備え:バックアップの基本
- 判断:CVSS・EPSS・KEVで優先順位を決める
- 用語:SQLインジェクションとは / CVSSとは