Critical pgAdmin Vulnerability Let Attackers Execute Shell Commands on the Host
2025/12/15 CyberSecurityNews — 人気のオープンソース PostgreSQL データベース管理ツール pgAdmin 4 に、深刻なセキュリティ脆弱性が発見された。この深刻な脆弱性 CVE-2025-13780 を悪用する攻撃者は、セキュリティ・フィルターを迂回し、ホスト・サーバ上で任意のシェル・コマンドを実行できる。この問題の原因は、アプリケーションのプレーンテキスト復元機能にあり、アップロードされたデータベース・ファイル内に隠された危険なコマンドを適切にブロックできない状況になっている。

テキスト・フィルターの欠陥
pgAdmin 4 が悪意のコマンドを検出/ブロックするために用いる、テキスト・ベースの正規表現 (regex) フィルターに、この脆弱性は起因すると EndorLabs は述べている。
このフィルターは、psql コマンドライン・ユーティリティがシステム・コマンドを実行する際に使用する、特定パターンを検出するよう設計されている。しかし、EndorLabs の研究者たちが発見したのは、改行の直後にコマンドが続くといった標準的な書式のみを、このフィルターが検出していたことだった。
| Field | Details |
|---|---|
| CVE ID | CVE-2025-13780 |
| Vulnerability Type | Remote Code Execution (RCE) |
| CVSS Base Score | 9.9 |
| Affected Component | Plain-text Restore Feature |
| Affected Versions | pgAdmin 4 (versions prior to 9.11) |
| Attack Vector | Uploaded Malicious SQL Dump |
そして、この欠陥を突く攻撃者が発見したのは、改行とコマンドの間にキャリッジ・リターンやフォーム・フィードなどの予期しない空白文字を挿入することで、このフィルタを回避できることだった。
つまり、これらの問題のある行をセキュリティ・フィルターは無視したが、基盤となる psql ツールは有効な命令として認識/実行していた。したがって、この脆弱性を悪用する攻撃者は、細工した SQL ファイルをアップロードすることで、サーバ上での不正なスクリプトの実行が可能になる。
EndorLabs による発見を受け、pgAdmin 開発チームが発表したのはバージョン 9.11 のリリースである。このバージョンでは、ソフトウェアのセキュリティ処理方法が根本的に変更されている。
新しいバージョンでは、ファイルをスキャンして危険なパターンを探す方式ではなく、”\restrict” コマンドを使用する方式が導入された。この機能により、リストア・プロセス中の危険な操作の無効化が psql に対して指示される。
入力レベルではなく実行レベルでセキュリティを強化することで、このソフトウェアはテキスト隠蔽トリックに対して脆弱ではなくなった。EndorLabs が管理者に対して推奨するのは、バージョン 9.11 への速やかなアップグレードである。
古いバージョンを使い続けると、システムがリモートコード実行 (RCE) 攻撃にさらされ、ホスト環境全体が侵害される可能性がある。
この脆弱性 CVE-2025-13780 の根本的な原因は、悪意のコマンドを検出するために pgAdmin 4 で使用される、テキスト・フィルターの欠陥にあります。pgAdmin では、正規表現 (regex) というパターン認識の仕組みを使って、危険なコマンドを見つけ出す仕組みが用いられていました。しかし、このフィルターが想定するのは、特定の標準パターンである、改行の直後にコマンドが続く書式のみでした。したがって、攻撃者が改行とコマンドの間に見えない空白文字などを忍び込ませても、フィルターは安全だと判断し、リモート・コード実行を生じる状態にありました。ご利用のチームは、ご注意ください。よろしければ、pgAdmin での検索結果も、ご参照ください。
You must be logged in to post a comment.