Critical Vulnerability Discovered in Popular WordPress Security Plugin WP Ghost
2025/03/24 SecurityOnline — 人気の WordPress プラグイン WP Ghost に、深刻度の高いセキュリティ脆弱性が発見された。John Darrel により開発された WP Ghost は、広く使用される無料のセキュリティ/ファイアウォール・プラグインであり、そのアクティブ インストール数は 200,000 を超える。このプラグインにより追加されるセキュリティ・レイヤーには、ボットのブロックや、不正アクセスの防止などがあり、WordPress Web サイトのセキュリティ強化が推進される。

この脆弱性は、認証を必要としない LFI (Local File Inclusion) の欠陥である。このタイプの脆弱性は、URL パスでユーザーが入力した内容が、ファイルの取り込みで使用される前に、十分に検証されていない場合に発生する。
WP Ghost の場合、この欠陥の悪用に成功した攻撃者は、影響を受けるシステム上でリモート・コード実行 (RCE) の可能性を手にする。この脆弱性 CVE-2025-26909 の CVSS スコアは 9.6 であり、きわめて深刻度が高いことを示している。
この脆弱性は、maybeShowNotFound 関数からの呼び出し可能な、showFile 関数内に存在する。更に厄介なことに、maybeShowNotFound 関数は template_redirect アクションにフックされているため、認証されていないユーザーによりトリガーされる可能性がある。したがって、未認証のユーザーが、存在しないパスまたはファイルにアクセスしようとすると、maybeShowNotFound 関数が呼び出され、続いて showFile 関数が呼び出されることになる。
この問題は、showFile 関数における、$new_path 変数の処理方法に起因する。この変数は、getCurrentURL -> getOriginalUrl -> getOriginalPath 関数チェーンから値を受け取る。その後に、この値は、値は適切なチェックやサニタイズを介さずに、require_once 関数へとダイレクトに渡される。
この検証の欠如により、攻撃者はパス・トラバーサルを達成し、サーバ上の任意のファイルの取り込みを可能にするため、任意のコード実行にいたる可能性が生じる。 RCE のために LFI を悪用する、”php://” フィルター・チェーンや、PHP_SESSION_UPLOAD_PROGRESS トリックなどの、一般的な手口が用いられる可能性がある。
この脆弱性は、WP Ghost の “Change Paths” 機能が、”Lite”/”Ghost” モードに設定されるケースに限って、悪用される可能性があることに注意してほしい。なお、この機能はデフォルトでは有効化されていない。
すでに WP Ghost は、バージョン 5.4.02 をリリースし、この脆弱性を解決している。ユーザーに対して強く推奨されるのは、この最新バージョンへと、速やかにアップデートすることだ。
セキュリティ/ファイアウォール・プラグインである WordPress WP Ghost Plugin に、CVSS 値 9.6 の深刻な脆弱性が発生しています。無料で利用できることから、ご利用のチームも多いかと思います。アップデートを忘れないよう、お気をつけください。よろしければ、以下の関連記事も、WordPress で検索と併せて ご利用ください。
2025/03/20:WordPress Age Gate Plugin の CVE-2025-2505 が FIX
2025/03/11:WordPress HUSKY (WOOF) の CVE-2025-1661 が FIX
2025/03/05:WordPress Chaty Pro の CVE-2025-26776 が FIX
2025/03/04:WordPress GiveWP の CVE-2025-0912 が FIX
You must be logged in to post a comment.