CVE-2024-0985: PostgreSQL’s Critical Security Flaw Exposed
2024/02/11 SecurityOnline — 広く利用されているデータベース・ソフトウェア PostgreSQL に、深刻なセキュリティ上の欠陥が発見され、企業やシステム管理者に懸念が広がっている。この脆弱性 CVE-2024-0985 (CVSS:8.0) の悪用に成功した攻撃者は、昇格した権限で悪意のコードを実行する可能性がある。
この脆弱性は、”REFRESH MATERIALIZED VIEW CONCURRENTLY” 操作における、後発的な権限の低下に起因する。この脆弱性の根本的な原因となっているのは、同時実行ユーザーをロックアウトすることなく、マテリアライズド・ビューを更新するように設計されている機能である。この脆弱性を悪用する攻撃者は、コマンド発行者 (おそらくスーパー・ユーザーか、特権権限のメンバー) の権限で、任意の SQL 関数を実行するシナリオを作成できる。
PostgreSQL のセキュリティ・アドバイザリには、「この攻撃は、攻撃者が管理するマテリアライズド・ビュー上で、”REFRESH MATERIALIZED VIEW CONCURRENTLY” を実行するよう、被害者を誘導する必要がある。この脆弱性の悪用の一環として、攻撃者は CREATE RULE を使用する関数を作成し、内部に構築された一時テーブルをビューに変換する」と詳述されている。
この、新たな脆弱性の悪用に成功した攻撃者は、以下のような大混乱を引き起こすことができる:
- データの窃取:顧客記録や財務情報などの、データベース内の機密情報が漏洩する可能性がある。
- 不正行為:攻撃者は、データの変更/悪意のコードの挿入/データベース・オブジェクトの新規作成などを実行できる。
- 攻撃の足がかり:攻撃者は、PostgreSQL データベースを制御することで、侵害したネットワーク上で、さらなる攻撃のための重要な足がかりを得る可能性がある。
脆弱性 CVE-2024-0985 の影響を受けるのは、PostgreSQL のバージョン 12〜15 に限定されている。これらのバージョンを実行しているデータベースは、潜在的な悪用にさらされることになる。しかし、幸いなことに、PostgreSQL の用心深い開発者がバージョン 16 以降で防壁を強化し、既知のエクスプロイトを無効にしている。以下の対処方法は、即座に実行可能だ:
- アップグレード:影響を受けるバージョンの PostgreSQL を使用している場合に、最も重要なステップは、修正バージョン (12.18/13.14/14.11/15.6) に直ちにアップデートすることだ。
- 注意:自分で作成したものではないマテリアライズド・ビューに対する、”REFRESH MATERIALIZED VIEW CONCURRENTLY” コマンドの使用においては、特に注意する必要がある。
PostgreSQL の脆弱性ですが、これだけ実績のあるソフトウェアがでも、こんな見落としが生じるのだと思ってしまいます。また、PostgreSQL に関する脆弱性の記事は少なく、昨年は 2023/11/14 「PostgreSQL の脆弱性 CVE-2023-5869 などが FIX:任意のコード実行の可能性」だけだったようです。よろしければ、PostgreSQL で検索も、ご利用ください。

You must be logged in to post a comment.