WordPress Plugin Vulnerability Exposes 100,000+ Sites to Privilege Escalation Attacks
2026/01/20 CyberSecurityNews — 人気の WordPress プラグイン Advanced Custom Fields: Extended に存在する、深刻な脆弱性 CVE-2025-14533 (CVSS:9.8:Critical) により、10 万以上の Web サイトが完全な乗っ取りのリスクにさらされている。この脆弱性は、バージョン 0.9.2.1 以前のプラグインに影響を及ぼすものだ。この脆弱性が未修正の状態で放置されると、ユーザー登録フォームにおけるロール処理の仕組みを悪用する未認証の攻撃者に、管理者レベルのアクセス権限を奪取される恐れがある。

この問題は、プラグインのカスタム・フォームを通じてユーザー作成を管理する方法に起因する。サイト管理者は、ユーザー名/メールアドレス/パスワード/ユーザー・ロールなどのデータを収集するフィールド・グループを用いて、登録フォームやプロフィール・フォームを構築できる。通常、新規ユーザーに割り当てられるロールは “subscriber” などの安全なロールのみに厳密に制限されるべきであるが、脆弱なバージョンでは制御が機能してていないため、悪用が可能な状態となっている。
Wordfence のアナリストが確認したのは、プラグインの “insert_user” フォーム・アクションにおいて、ロール・フィールドがマッピングされている場合でも、登録時に割り当て可能なロールが適切に制限されていないことである。この不備により、インターフェイス上では選択肢が制限されているように見えていても、攻撃者は細工した HTTP リクエストを送信し、自身のロールを administrator に指定できる。このリクエストが処理されると、攻撃者のアカウントはサイト上の完全な管理者として作成される。
管理者権限を取得した攻撃者は、影響を受ける WordPress 環境を完全に侵害できる。具体的には、バックドアを含む悪意のプラグインやテーマのアップロード/コンテンツを書き換えによるフィッシング・サイトやマルウェア配布サイトへの訪問者のリダイレクト/スパムやSEO ポイズニング用ペイロードの埋め込みが可能となる。プラグインの導入数が多く、かつ、脆弱なフォームが存在する場合には悪用が容易であるため、これらのユーザー・アクション・フォームを公開インターネット上に露出させているサイトへの影響は深刻である。
情報が公開された時点で、ベンダーはバージョン 0.9.2.2 において修正をリリースしており、セキュリティ製品ベンダーもファイアウォール・レベルでエクスプロイト試行を遮断する防御策を提供している。しかし、アプリケーション・レベルの防御のみに依存し、パッチを適用していないサイトは、設定不備のある登録フォームを探索する日和見的な攻撃者にとって、依然として魅力的な標的となる。
脆弱性の詳細
| Field | Details |
|---|---|
| Vulnerability ID | CVE-2025-14533 |
| Plugin Name | Advanced Custom Fields: Extended |
| Plugin Slug | acf-extended |
| Affected Versions | <= 0.9.2.1 |
| Patched Version | 0.9.2.2 |
| Vulnerability Type | Unauthenticated Privilege Escalation |
| Attack Vector | Malicious user registration form submission |
| Required Conditions | Public form with mapped role field present |
| CVSS Score | 9.8 (Critical) |
| Installations Affected | 100,000+ active installs |
| Discovery Credit | andrea bocchetti via Wordfence Bug Bounty |
権限昇格はどのように行われるのか
この脆弱性の本質は、コードを書かずにカスタムなユーザー管理ワークフローを作成できるように設計された、このプラグインの柔軟なフォーム・システムにある。一般的なコンフィグでは、管理者がユーザー情報フィールドを含むフィールド・グループを定義し、それを “ユーザー作成”/”ユーザー更新” のフォーム・アクションに関連付ける。これらのフィールドの一つとしてロール・セレクターを含めることができ、表面的には “Allow User Role” コンフィグにより制限されているように見える。
しかし、フォーム送信時のプラグイン内部では、acfe_module_form_action_user クラス内の insert_user() 関数が呼び出される。この関数は、マッピングされたロール・フィールドを含むすべての送信値を収集し、それらを WordPress 標準の wp_insert_user() 関数にそのまま渡す。したがって脆弱なバージョンでは、フィールド・グループで設定されたロール制限が、バックエンド側で一切強制されていないという問題が発生する。
フォーム設定は安全であるかのような印象を与えるが、実際の処理ロジックは制限を尊重していない。その結果、公開フォームにロール・フィールドがマッピングされている場合には、未認証の攻撃者は表示上の選択肢を無視し、administrator などの任意の値を HTTP リクエスト内で送信できる。
このプラグインは、ユーザー作成前にロールに対する検証やフィルタリングを行わないため、WordPress はリクエストを受け入れ、完全な管理者権限を持つ新規アカウントを作成してしまう。そのため、既存アカウント/ソーシャル・エンジニアリング/パスワード推測は不要である。
管理者として侵入した攻撃者は、正規のサイト管理者と同等の権限を有し、悪意のプラグインのインストール/テーマ・ファイル改変によるバックドア注入/サイト・コンフィグの変更/最初のアカウントが削除された場合のアクセス維持のための追加管理者アカウントの作成が可能となる。このように、脆弱なコンフィグが存在する環境において、CVE-2025-14533 は完全なサイト侵害に直結する経路となる。
WordPress の人気プラグイン Advanced Custom Fields: Extended に、Web サイトの管理者権限を乗っ取れてしまう、ききわめて深刻な脆弱性 CVE-2025-14533 が見つかりました。この問題の原因は、ユーザー登録フォームから送られてくる “権限” (ロール) の情報を、プログラム側で正しく制限/検証していなかったことにあります。
このプラグインを使うと、独自のユーザー登録フォームを簡単に作成できます。本来であれば、一般ユーザー (subscriber) としての登録に制限すべきですが、脆弱なバージョン (0.9.2.1 以前) では、攻撃者が通信内容を少し細工して自分を管理者 (administrator) として登録してほしいとリクエストを送るだけで、その通りの権限を持つアカウントが作成されてしまいます。
管理者権限を奪われると、Web サイト内の情報を盗まれるだけでなく、サイト全体を書き換えられたり、ウイルスを配布する踏み台にされたりと、取り返しのつかない被害に遭う恐れがあります。ご利用のチームは、ご注意ください。よろしければ、WordPress での検索結果も、ご参照ください。
You must be logged in to post a comment.