ACF Extendedで誰でもサイトを乗っ取れる重大な脆弱性発見

2025.12.03

OVERVIEW

WordPress用プラグイン「Advanced Custom Fields: Extended」に、2025年11月18日、Remote Code Execution(リモートコード実行)の脆弱性が報告されました。これは攻撃者がサイトにログインしなくても、サーバー上で任意のコードを実行することが可能となる重大な問題です。

Advanced Custom Fields: Extendedとは

Advanced Custom Fields: Extendedは、Advanced Custom Fieldsプラグインのアドオンとして機能するWordPressプラグインで、フィールドやフォームマネージャーなどの追加機能を提供します。WordPress.orgでは10万以上の有効インストールとして扱われるほど広く導入されています

カスタムフィールドの拡張機能を提供するプラグインでありながら、今回の脆弱性によりサイト全体のセキュリティが脅かされるという深刻な状況となっています。WordPressがWeb全体の大きな比率を占めることを踏まえると、このプラグインに関する問題の影響範囲は無視できません。

Advanced Custom Fields: Extended ロゴ

発見された問題とは

プラグイン内のprepare_form()関数において、ユーザー入力を受け取った後、それをcall_user_func_array()関数に直接渡していたことが問題でした。これにより、攻撃者が指定した任意のPHP関数を実行できる状態になっていました。

具体的には、ユーザー入力から取得したform[render]パラメータを使用してフォームをレンダリングし、formパラメータから取得したデータを関数に渡す仕組みでした。しかし、関数呼び出しに対する制限が一切なかったため、攻撃者は任意のPHP関数を呼び出し、任意のパラメータを渡すことが可能でした。

この関数はWebサイトの公開部分(フロントエンド)から呼び出される仕組みになっており、HTTPリクエストでアクセス可能だったため、攻撃者はWordPressにログインしていない状態でも悪用が可能でした。つまり、攻撃者はWebブラウザから直接、悪意のあるパラメータを含むHTTPリクエストを送信するだけで、サーバー上で任意のコードを実行できたということです。ログイン認証のチェックがなかったため、誰でもサイトを攻撃できる状態でした。

その結果、攻撃者はサーバー上で任意のコードを実行し、バックドアの挿入や新しい管理者ユーザーアカウントの作成などが可能でした。例えば、wp_insert_user()関数を使用して新しい管理者ユーザーを作成することで、権限昇格を実現することもできました。

影響とリスク

任意のコード実行によりサイト全体が乗っ取られるバックドアの挿入で長期的な不正アクセスが可能になる管理者アカウントの作成で完全なサイト制御を奪われるといった実害に直結します。

すべてのリモートコード実行の脆弱性と同様に、ウェブシェルやその他の手法を使用してサイト全体の侵害につながる可能性があり、結果としてデータベースの改ざん個人情報の流出ブランド毀損復旧コストの増大という経営上のリスクが高まります。

対処方法

  1. プラグイン更新:管理画面から「Advanced Custom Fields: Extended」を最新版(0.9.2以降)へ更新してください。0.9.2ではユーザー入力とcall_user_func_array()関数ベースのレンダリング部分が完全に削除され、適切な修正が実装されています。
  2. 動作確認:更新後にプラグインの機能が正常に動作することを確認し、カスタムフィールドやフォームマネージャーが適切に機能しているか点検します。併せてセキュリティプラグインによるスキャンを一度実行し、異常の有無を確認してください。
  3. バックアップ運用:ファイルとDBの定期バックアップをスケジュール化し、リストア手順を年数回はリハーサルします。更新前後に自動スナップショットを取れる環境にしておくと、復旧時間を大きく短縮できます。

まとめ

本件はユーザー入力の不適切な処理に起因するセキュリティ問題で、最新版への更新と基本的な点検・バックアップ体制の整備で大半のリスクは抑えられます。運営者が押さえるべきポイントは「最新化」「検証」「復旧準備」の三点に集約され、いずれも日常運用で継続可能な対策です。

定期更新・簡易点検・定期バックアップを習慣化すれば、同種の不具合や脆弱性に対しても強い運用に近づきます。今回を機に、更新ポリシーとバックアップ体制の再点検をおすすめします。

参考


弊社では、WordPressサイトの定期的な保守サービスを提供しています。

バックアップ、アップデート、表示チェック、ウイルススキャンなどを定期的に専門のエンジニアが手動で実施いたします。
これらをプログラムにより自動的に実施せず手動にすることで、状況による柔軟な対応や問題の即時発見と修復が可能で、サイト運営者様が長期間操作やチェックをしなくても常に最新で最適なセキュリティ状態に保つことができます
また、不正ログインや外部からの攻撃に対して独自設定のファイアウォールにより24時間サイトを守ります。攻撃の増加や異常を検知した場合には、エンジニアが駆け付けて迅速に対応いたします。

安心してサイト運営を続けていただけるよう、全力でサポートいたします。ぜひ、弊社のサービスをご利用ください。

▼ WordPressサイトのセキュリティ保守サービスはこちら ▼