CVE-2024-2044: pgAdmin Remote Code Execution Vulnerability
2024/03/07 SecurityOnline — 広範に利用されている PostgreSQL の管理ツール pgAdmin に存在する、脆弱性 CVE-2024-2044 に対して、先日にパッチが適用された。この脆弱性は、安全が保証されないデータに対するデシリアライズと、不十分な入力検証に起因するものであり、侵害のリスクが常に存在している状況を浮き彫りにしている。

この脆弱性 CVE-2024-2044 を放置すると、認証された攻撃者にリモートでコードを実行される可能性が生じる。セキュリティ研究者である Aditya Toshniwal が、この脆弱性を pgAdmin チームに対して、責任を持って報告した。
pgAdmin はユーザー・セッションを、コンピュータ上の特別なファイル (pickle オブジェクト と呼ばれる) として保存することで管理している。pgAdmin とのインタラクションのたびに、pgAdmin は ‘pga4_session’ という名前のクッキーを用いて、正しいセッション・ファイルを見つけ出し、読み込む。この pga4_session クッキーは、2つの部分に分かれている。最初の部分は、ユーザー固有のセッション ID であり、2番目の部分はセキュリティー・チェックとして機能する

Aditya Toshniwal は、「この脆弱性は pgAdmin バージョン 8.4 以前に存在し、pgAdmin 4 の DATA_DIR 内のセッション・フォルダとセッション ID を連結して、セッション・ファイルをロードする。正確には、2つの値は ‘os.path.join’ 関数により連結される。しかし、エスケープされるべきではない、信頼できるベースパスは設定されない」と説明している。
したがって、pgAdmin を騙した攻撃者は、不正なファイルを不正な場所から読み込ませることが可能となる。この悪用に成功した攻撃者は、pgAdmin の権限でコードを実行できるようになり、データベース侵害/データ窃取/システム侵入へといたる可能性がある。ただし、pgAdmin デスクトップ・モードを実行しているユーザーに対しては、脆弱性 CVE-2024-2044 は影響を及ぼさない。
管理者たちに強く推奨されるのは、pgAdmin 4 v8.4 以降への、速やかなアップグレードである。おそらく、このパッチにより、より厳格な入力検証とパスの構築が強制され、リスクが軽減されることになる。この脆弱性は、入力のサニタイズと安全なデータ処理の原則を強化するものである。すべての外部入力に対しては、疑いを持って取り扱い、厳密に検証する必要がある。
つい先日の 2024/02/20 にも、「PostgreSQL JDBC の脆弱性 CVE-2024-1597 が FIX:CVSS 値は 10.0」という記事をポストしています。今日の記事で、今年に入ってから、3件目の脆弱性です。ご利用のチームは、ご注意ください。よろしければ、PostgreSQL で検索も、ご利用ください。
You must be logged in to post a comment.