カスタムフィールドを扱うWordPressサイトでは、Advanced Custom Fields(ACF)に機能を足す拡張プラグイン「ACF Extended」を入れている例が少なくありません。フォームや入力欄の種類を手軽に増やせるので、制作の現場では便利な道具です。その有料版であるPRO版に、ログインしていない第三者がサイト上の関数を呼び出せてしまう欠陥が見つかり、脆弱性データベースで最も重い部類の評価が付いています。修正版はすでに出ているので、使っているサイトの版を確かめておくと安心です。
どんな欠陥なのか
脆弱性の情報をまとめているOpenCVEの記載によると、対象は「Advanced Custom Fields: Extended PRO」の0.9.2.6以前のすべての版です。入力欄を描き出す処理(render_field)の中で、フォームの設定値を十分に確かめないまま、PHPのcall_user_func_arrayに渡していたことが原因とされています。
call_user_func_arrayは、関数名と引数を受け取ってその関数を実行する仕組みです。ここに外から手を加えた値が届くと、攻撃者はWordPressの任意の関数を、自分で選んだ引数付きで実行できてしまいます。ログインは不要で、組み合わせ次第ではサーバー上でのコード実行、つまりサイトの乗っ取りにつながるおそれがあります。OpenCVEは深刻度を9.8、WordPressの脆弱性を専門に扱うPatchstackは最大の10と評価しています。
どんな条件のサイトが狙われるか
ただし、PRO版を入れているだけで直ちに攻撃が成立するわけではないようです。OpenCVEの説明では、攻撃が成り立つ道筋として次の二つが挙げられています。
- 対象のフォームで、既定では無効の「shortcode_preview」の設定が有効になっている
- サーバーにOpenSSLの関数がなく、プラグインが入力欄の暗号の解除を、検証のないbase64の読み解きで代用してしまう
一つ目は管理者が自分で設定を変えた場合に限られます。二つ目はサーバー側の環境に左右されるため、サイトの運営者からは気づきにくい点です。共用サーバーや古い環境では、PHPの拡張の構成が想定と違っていることもあります。どちらにも当てはまらないと言い切れない場合は、条件を一つずつ調べるより、先に更新してしまうほうが確実です。
OpenCVEの記載の時点では、実際の悪用が確認された脆弱性を集めた米国CISAの一覧には載っておらず、悪用の起こりやすさを示す指標もまだ出ていません。一方でPatchstackは、この種の欠陥は多数のサイトを一度に狙う攻撃に使われやすいとして、すぐに更新するよう勧めています。
更新先と変更の中身
Patchstackのデータベースでは、修正済みの版は0.9.2.7とされています。ACF Extendedの公式の更新履歴を見ると、0.9.2.7は2026年8月27日に公開され、さらに10月19日には0.9.2.8が出ています。
0.9.2.8の更新履歴には、フォーム機能の守りを固める変更がまとまって並んでいます。フォームを呼び出すショートコードに渡せる引数を許可した項目だけに絞ったこと、ショートコードの引数の中でテンプレートタグを使えなくしたこと、エスケープの処理をすり抜けられたテンプレートタグの問題の修正、ユーザーを更新する処理での権限確認の追加などです。古いフォームでも「Apply Shortcode」の設定を既定で無効にする変更や、入力値の検証に使える関数を許可した一覧で絞る変更も含まれています。これらは今回の欠陥と同じく、フォームの設定値が想定外の処理に流れ込むことを防ぐ方向の手当てと読めます。
そのため、更新するならPatchstackが示す0.9.2.7で止めず、その時点の最新版まで上げておくのが無難です。PRO版は有料のライセンスで配布されるため、ライセンスが切れていると管理画面に更新の案内が出ないことがあります。納品後に保守契約のないサイトほど、古い版のまま残りやすい点に注意が必要です。
制作会社として確かめておきたいこと
私たちのように複数のサイトを預かる立場では、まず担当しているサイトのうち、ACF ExtendedのPRO版が入っているものを洗い出すことから始めるのが現実的です。無料版と有料版はプラグインの名前が似ているため、一覧ではフォルダ名や表示名まで見分けておくと取り違えを防げます。
次に、フォーム機能を実際に使っているか、shortcode_previewのような既定外の設定を有効にしていないかを確かめます。あわせて、サーバーのPHPでOpenSSLの拡張が有効になっているかも見ておくと、今回に限らず似た問題への備えになります。使っていない拡張プラグインは、更新するより外してしまうほうが手間も危険も減ります。
ACFのように土台となるプラグインは注目されやすい一方、その上に足す拡張は見落とされがちです。テーマやページの作りを支えている道具ほど、版の管理から外れないよう、一覧で見える状態にしておきたいところです。













