人気のWordPressプラグイン「Gravity Forms」が、公式ウェブサイトから手動でインストールしたファイルにバックドアが仕込まれるという、いわゆるサプライチェーン攻撃によって侵害されました。
Gravity Formsは、問い合わせフォームや決済フォームなど、さまざまなオンラインフォームを作成できる有料プラグインです。ベンダーの統計データによると、この製品は約100万のウェブサイトにインストールされており、Airbnb、Nike、ESPN、ユニセフ、Google、イェール大学などの有名組織のサイトでも利用されています。
サーバー上でのリモートコード実行
WordPressのセキュリティ企業PatchStackは、本日、Gravity Formsのウェブサイトからダウンロードしたプラグインによって不審なリクエストが生成されているという報告を受けたと発表しました。
PatchStackがプラグインを調査したところ、ベンダーのウェブサイトからダウンロードされた悪意のあるファイル(gravityforms/common.php)を受け取ったことが確認されました。さらに詳しく調べると、このファイルが「gravityapi.org/sites」という不審なドメインにPOSTリクエストを送信していることが判明しました。
さらに分析を進めた結果、プラグインはURL、管理者パス、テーマ、プラグイン、PHP/WordPressのバージョンなど、広範なサイトメタデータを収集し、攻撃者に送信していることが分かりました。
サーバーからの応答には、base64でエンコードされたPHPマルウェアが含まれており、「wp-includes/bookmark-canonical.php」として保存されます。
このマルウェアはWordPressのコンテンツ管理ツールを装い、‘handle_posts()’、‘handle_media()’、‘handle_widgets()’などの関数を使って認証なしでリモートコード実行を可能にします。
「これらすべての関数は、__construct → init_content_management → handle_requests → process_request関数から呼び出すことができます。つまり、認証されていないユーザーによってもトリガーされる可能性があります」とPatchstackは説明しています。
「これらすべての関数では、ユーザーから渡された入力を使ってeval呼び出しを実行し、サーバー上でリモートコード実行が可能となります」と研究者は述べています。
Gravity Formsの開発元であるRocketGeniusにはこの問題が通知され、スタッフはPatchstackに対し、マルウェアは手動ダウンロードおよびcomposerによるインストールのみが影響を受けたと伝えました。
Patchstackは、昨日以降にGravity Formsをダウンロードした人は、クリーンなバージョンでプラグインを再インストールすることを推奨しています。管理者は自分のウェブサイトに感染の兆候がないかスキャンするべきです。
Patchstackによると、この攻撃に使われたドメインは7月8日に登録されたとのことです。
ハッカーが管理者アカウントを追加
RocketGeniusは今回のインシデントについての事後報告を公開し、7月10日から11日にかけて手動ダウンロードが可能だったGravity Forms 2.9.11.1および2.9.12のみが侵害されたことを確認しました。
管理者がこの2日間のいずれかにバージョン2.9.11をcomposerでインストールした場合、感染した製品を受け取ったことになります。
「Gravity Formsプラグイン内からライセンス管理、自動更新、アドオンのインストールを行うGravity APIサービスは一切侵害されていません。このサービスを通じて管理されるすべてのパッケージ更新は影響を受けていません」 – RocketGenius
RocketGeniusによると、悪意のあるコードはアップデートの試行をブロックし、外部サーバーに接続して追加のペイロードを取得し、攻撃者にウェブサイトの完全なコントロール権限を与える管理者アカウントを追加していました。
開発元はまた、管理者が自分のウェブサイトで特定のリンクをたどることで感染の可能性を確認する方法も案内しています。
2025年における8つの一般的な脅威
クラウド攻撃はますます巧妙化していますが、攻撃者は驚くほど単純な手法でも成功しています。
Wizが数千の組織で検知したデータをもとに、このレポートではクラウドに精通した脅威アクターが使う8つの主要な手法を明らかにします。