ハッカーが、WordPressプラグイン「Bricksforge」の深刻な脆弱性を積極的に悪用しています。この脆弱性により、認証不要の攻撃者が悪意あるファイルをアップロードし、任意のPHPコードを実行できてしまいます。
この脆弱性は「CVE-2026-85097」として追跡されており、CVSSスコアは10.0です。影響を受けるのはバージョン3.1.8.9までです。Patchstackは、2026年10月7日21時47分17秒(UTC)に最初の悪用を確認しました。
Bricksforgeは、Bricks Builderを拡張し、高度なフォーム、アニメーション、動的データ機能、バックエンドのカスタマイズを提供するプラグインです。悪用に成功した攻撃者は、Webシェルの設置、機密情報の窃取、サイト内容の改ざん、侵害したサーバーへの永続的なアクセスの維持が可能になります。
脆弱性の原因は、最初のファイルアップロード時とその後のフォーム送信時とで、検証の一貫性が欠けている点にあります。BricksforgeはアップロードされたファイルのMIMEタイプを確認しますが、その後はクライアントから送られるメタデータをそのまま信用します。temporaryFileUploadsパラメータ内の未検証のurlフィールドも、その対象です。
攻撃者はまず、認証不要のAJAXエンドポイントbricksforge_regenerate_nonceから有効なnonceを取得します。続いて、正当な画像データと実行可能なPHPの両方を含むGIF/PHPポリグロットをアップロードします。このファイルは最初のMIMEチェックを通過し、一時アップロードディレクトリに保存されます。
フォーム送信時に、攻撃者は細工したメタデータを送り込みます。このメタデータは、検証を通過済みの画像のサーバー側パスと、PHP拡張子で終わる保存先URLを組み合わせたものです。Bricksforgeはファイルの内容をその保存先に書き込むため、続くリクエストで埋め込まれたコードが実行されます。
観測された試行のほぼすべてが、POST /wp-json/bricksforge/v1/form_submitを標的にしていました。1件だけは、/wp-admin/admin-ajax.phpにbricksforge_form_submitアクションを指定したリクエストでした。記録されたすべてのリクエストに、細工されたtemporaryFileUploadsメタデータが含まれていました。
記録されたリクエストの95%では、送信元パスが.gifまたは.pngで終わっていました。その大半は、このパスにPHP関連の保存先を組み合わせていました。
攻撃者は、別の拡張子、大文字と小文字の混在、URLエンコード、二重エンコード、改変したメタデータフィールドも試し、検証の挙動を探っていました。一部のペイロードは、通常のアップロードディレクトリを狙い、login_admin_*.phpに一致するファイル名を使っていました。
Patchstackは、63の固有の送信元IPアドレスを記録しました。そのうち6つが、全リクエストの約46%を占めています。あるクラスターでは44個のIPが数秒のうちに56件の同一リクエストを送信し、別のクラスターでは3個のIPが25通りの拡張子・エンコードのバリエーションを試していました。
これらのパターンは分散型の自動化を示唆していますが、単一の攻撃者によるものと断定する根拠にはなりません。
管理者は、影響を受けるサイトをバージョン3.1.8.10以降に更新し、過去のログを調査する必要があります。確認すべき点は、不審なフォーム送信、画像とPHPのメタデータの不一致、nonceリクエスト、アップロードディレクトリ内の想定外の実行可能ファイルです。
Patchstackによると、同社の保護機能「RapidMitigate」は、最初の攻撃が観測される前に展開されていました。これとは別に、Bricksforgeは10月8日にバージョン4.0.1をリリースし、Pro Formsに関するアップロードのセキュリティ修正をもう1件適用しました。
ベンダーは、この問題がアップロード欄のないフォームであっても、Pro Formsを有効にしているすべてのサイトに影響すると警告しています。最新のセキュリティ更新を適用する必要性が改めて浮き彫りになりました。
16,000以上のSOCチームがANY.RUNを活用し、脅威調査を効率化して手作業を削減しています。チームでの導入を検討する
翻訳元: https://cyberpress.org/hackers-exploit-critical-wordpress-bricksforge-plugin-flaw/