WordPress向け人気フォームプラグイン「GravityForms」にマルウェアが混入-サプライチェーン攻撃の可能性

セキュリティニュース

投稿日時: 更新日時:

WordPress向け人気フォームプラグイン「GravityForms」にマルウェアが混入-サプライチェーン攻撃の可能性

2025年7月11日、WordPress向け人気フォームプラグイン「GravityForms」の公式配布版に、マルウェアが混入していたことが明らかになりました。

セキュリティ企業Patchstackによる調査により、サプライチェーン攻撃の可能性が高いと指摘されています。今回は被害の概要、技術的な詳細、発見されたマルウェアの挙動について解説します。

事件の概要と初期発見

2025年7月10日、GravityForms公式サイトからダウンロードされた最新版(v2.9.12)の中に、外部ドメイン(gravityapi.org)へ不審なHTTP通信を行うコードが含まれているという報告が寄せられました。このドメインは、わずか2日前の7月8日に登録されたもので、明らかに不自然なものでした。

Patchstackはその後、マルウェアが混入していたのは、公式ダウンロードとComposerインストール経由のみであったと報告しています。自動アップデートによる配布には影響がないと見られています。

なお、パッチはリリース済みなので最新のバージョンへアップデートする事をお勧めします。

GravityForms側の対応と最新状況

この報告を受けて、開発元のRocketGenius社は調査を開始し、同日中にマルウェアを削除した修正版(v2.9.13)をリリースしました。また、悪用に使われたとされる gravityapi.org ドメインはレジストラ(Namecheap)により停止されています。

影響があったのは、短時間に配布された一部のパッケージのみとされ、広範囲には拡がっていないとされていますが、引き続き注意が必要です。

感染の痕跡

以下の情報が確認された場合は、感染の疑いがあります

  • アクセス元IPアドレス:

    • 185.193.89.19

    • 193.160.101.6

  • 不審な外部通信先:

    • gravityapi.org

    • gravityapi.io

  • 該当ファイル:

    • gravityforms/common.phpupdate_entry_detail() 関数が存在

    • includes/settings/class-settings.phplist_sections() 関数が存在

    • wp-includes/bookmark-canonical.php に不審なコードが存在

技術的な分析:GravityFormsに混入されたマルウェアの挙動

今回のインシデントでは、「GravityForms」プラグイン内に複数の不正なコードが仕込まれていたことが判明しています。主に2つの不正コードが特定されており、それぞれの役割と影響について以下にまとめます。

サイト情報の外部送信と不正ファイルの設置

まず、「update_entry_detail()」という関数により、WordPressサイトの環境情報が外部のサーバー(https://gravityapi.org/sites)へ送信されていました。送信される情報には、以下のような内容が含まれています。

  • サイトURLや名称

  • 管理画面URL

  • WordPressおよびPHPのバージョン

  • 有効なプラグインやテーマの一覧

  • サーバーOS情報(php_uname()

  • 登録ユーザー数

さらに、外部サーバーからのレスポンスには、base64でエンコードされたPHPコードが含まれており、それを特定のパスにファイルとして書き込む処理も含まれていました。

書き込み先は wp-includes/bookmark-canonical.php など、あたかも純正のWordPressファイルのように見せかけられており、検知を逃れようとする意図が感じられます。

管理者権限の乗っ取りとリモートコード実行

次に確認されたのが、list_sections() という関数を通じた「バックドア機能」です。これは、特定の秘密鍵(固定値)を持つAPIリクエストがあった場合に、以下のような操作を許容してしまう非常に危険なコードです。

  • 新規の管理者アカウントを作成(cusr

  • base64形式で送られてきたコードを eval() 関数で実行(formula

  • 任意のファイルをアップロード(upload_file

  • サイト内の全ユーザー情報の一覧取得(lusr

  • 任意ユーザーの削除(dusr

  • 任意ディレクトリの内容を取得(ldir

これらの処理は、事前の認証が不要な notification.php 経由で実行可能であり、外部から完全に乗っ取られるリスクがあります。

特に eval() を介したリモートコード実行(RCE)の実現可能性は極めて高く、放置するとWebサイトの完全な制御を奪われる危険性があります。

感染の持続性とステルス性

マルウェアはWordPressの正規機能に偽装する形で埋め込まれており、見た目では悪意のある動作に気づきにくくなっていました。また、データ送信やバックドアの動作は、通常のプラグインの動作範囲内で行われているように見えるため、セキュリティ製品や監視システムでも検知が困難であった可能性があります。

参照

https://patchstack.com/articles/critical-malware-found-in-gravityforms-official-plugin-site/