CVSS 7.5 HIGH 未ログインで悪用可能
| 対象 | プラグイン Advanced Custom Fields: Extended 有効インストール約 100,000 件 |
|---|---|
| 影響バージョン | 0.9.2.7 以下 |
| 修正版 | 0.9.2.8 |
| CVE | CVE-2026-110305 |
| 種類 | 情報漏えい(Exposure of Sensitive Information to an Unauthorized Actor) |
| 悪用される確率(EPSS) | 0.61%(全脆弱性の上位 51%) |
| 公表 | 2026年10月30日 当サイト掲載: 2026年11月2日 12:20 |
何が起きるか
バージョン0.9.2.7以前では、ログインしていない第三者が、ユーザーのパスワードハッシュなどの機密情報を取得できるおそれがあります。特定のフォーム設定を公開ページで使っているサイトが対象です。
想定される被害と条件
- 管理者を含む任意のユーザーのパスワードハッシュが外部に漏れるおそれがある
- 漏れたハッシュが解読されると、管理者アカウントの乗っ取りにつながる可能性がある
- ユーザー情報など、その他の機密データが公開状態のターム(カテゴリー・タグ等)名として露出するおそれがある
- 条件:公開ページに [acfe_form] ショートコードを設置し、ターム作成(Term アクション)で名前(save.name)の項目割り当てを使っている場合
- ログイン不要で悪用できるため、条件に当てはまるサイトは早急な対応が必要
今日やること
Advanced Custom Fields: Extended を 0.9.2.8 以上に更新し、すぐ更新できない場合は該当フォームの公開停止またはプラグインの停止・削除を検討してください。
すぐに更新できない場合
更新までの間、Term アクションを含む [acfe_form] フォームを設置した公開ページを非公開にするか、ショートコードを外してください。WAFで該当フォームへの送信を制限することも有効です。
更新後に確認すること
- 管理画面の「投稿」→「カテゴリー」「タグ」やカスタムタクソノミーの一覧で、意味不明な文字列(「$P$」「$wp$」などで始まる文字列やメールアドレス等)を名前に持つ不審なタームが無いか確認し、あれば削除する
- 不審なタームが見つかった場合や不安がある場合は、全ユーザー(特に管理者)のパスワードを変更する
- 「ユーザー」一覧で見覚えのないユーザーや、権限が管理者に変更されたユーザーが無いか確認する
- ログイン履歴やセキュリティプラグインのログで、身に覚えのない管理者ログインが無いか確認する
不審な投稿・ユーザー・ファイルが見つかった場合は、専門家への相談をおすすめします。
Advanced Custom Fields: Extended の現在の情報 (WordPress.org、2026-11-02 取得)
| 最新版 | 0.9.2.8 修正版を含む |
|---|---|
| 対応 WordPress | 4.9 以上(検証済み 7.1.4) |
| 最終更新 | 2026-10-19 1:23pm GMT |
| 有効インストール | 100,000+ |
| リンク | WordPress.org のページ 公式サイト |
技術的な詳細(修正差分の解析)
修正前後のコード(0.9.2.7 → 0.9.2.8)を WordPress.org から取得して差分を解析しました。特定の確度: 高。攻撃に使える手順は記載していません。
原因となった処理
- フォームの Term アクション(module-form-action-term.php)の保存処理で、save.name / save.slug に対し、ID 確定後に acfe_add_context('generated_id') を設定したうえで acfe_apply_tags() によるテンプレートタグ展開が再度実行されていた。
- この再展開は、フォーム送信値をフィールドマッピングで差し込んだ「後」の文字列にも適用されていた。そのため、未認証の送信者が入力値にテンプレートタグ({get_user} など)を含めると、二次評価(テンプレートインジェクション)として解決されてしまう状態だった。
- {get_user} タグは任意ユーザーのプロパティ(パスワードハッシュ user_pass などの機密情報を含む)を返せる。展開結果がそのままタームの名前として wp_insert_term / wp_update_term で保存されていた。
- ターム名は公開のアーカイブ、REST API、ウィジェットなどから誰でも読み取れるため、機密データが公開領域に書き出されて外部へ漏えいする。
- Post アクション(post_title / post_name)にも同じ再展開の実装があった。加えて、ショートコード属性でもテンプレートタグが除去されていなかった。入力値とテンプレート処理の分離が全体的に不十分だった。
被害が起きる前提条件
- Advanced Custom Fields: Extended 0.9.2.7 以前が有効化されていること。
- 管理者が、Term アクションを含むフォームを [acfe_form] ショートコードで公開ページに設置していること。
- そのフォームで、save.name(ターム名)がユーザー入力フィールドにマッピングされていること(公式にサポートされた構成)。
- 未認証ユーザーがフォームを送信でき、作成・更新されたタームの名前を公開側から閲覧できること。
修正版での変更
- Term/Post アクションの保存処理で acfe_apply_tags() による再展開を廃止した。代わりに str_replace() で {generated_id} だけを置換するようにし、入力値中の任意のテンプレートタグが評価されないようにした。
- Term/Post アクションに validate_action を実装し、予約済みタクソノミーや投稿タイプ(ACF 内部の acf-post-type、acf-taxonomy など)の更新には管理権限を必須にした。
- ショートコード属性を許可リスト方式で処理し、acfe_clear_tags() でテンプレートタグを除去するようにした。あわせて、登録済みフォーム以外はショートコードで描画しない(acfe_form_shortcode)よう変更した。
- 関連するハードニングも行った。具体的には、AJAX ノンス検証(acfe_verify_ajax)にフィールド種別チェックを追加し、nopriv の AJAX の削除と管理者権限チェックを追加した。また、バリデーション関数を許可リスト化し、出力エスケープを追加した。
主な修正ファイル: includes/modules/form/module-form-action-term.php, includes/modules/form/module-form-action-post.php, includes/modules/form/module-form-shortcode.php, includes/modules/form/module-form-front.php, includes/helpers/acfe-helper-functions.php
原文(Wordfence Intelligence)
The Advanced Custom Fields: Extended plugin for WordPress is vulnerable to Sensitive Information Exposure in all versions up to, and including, 0.9.2.7 via the process. This makes it possible for unauthenticated attackers to extract sensitive data including the WordPress password hash of any user by injecting a {get_user} template tag that is resolved and written as a publicly readable term name. Exploitation requires that an administrator has configured a public [acfe_form] shortcode page with a Term action using a save.name field mapping — a supported and documented configuration.
参考リンク
脆弱性情報の出典と著作権
脆弱性情報の出典: Wordfence Intelligence のレコード。Copyright 2012-2026 Defiant Inc. License: Defiant hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute this software vulnerability information. Any copy of the software vulnerability information you make for such purposes is authorized provided that you include a hyperlink to this vulnerability record and reproduce Defiant's copyright designation and this license in any such copy. Read more.
CVE: Copyright 1999-2026 The MITRE Corporation. CVE Usage: MITRE hereby grants you a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare derivative works of, publicly display, publicly perform, sublicense, and distribute Common Vulnerabilities and Exposures (CVE®). Terms of Use.
本ページの作成について: 上記の出典データをもとに、「何が起きるか」「今日やること」「更新後に確認すること」などの日本語解説は生成 AI が作成し、サイトの主治医が随時確認しています。誤りに気づかれた場合はお問い合わせください。
「Advanced Custom Fields: Extended」の他の脆弱性
- WordPressプラグイン「Advanced Custom Fields: Extended」に情報漏えいの脆弱性(CVE-2026-2839) 2026/10/27
- WordPressプラグイン「Advanced Custom Fields: Extended」に認可不備の脆弱性(CVE-2026-10752) 2026/10/27
「Advanced Custom Fields: Extended」の脆弱性一覧 →
最近公表された深刻度の高い脆弱性
- WordPressプラグイン「s2Member」にリモートコード実行の脆弱性(CVE-2026-86596) 2026/11/02
- WordPressプラグイン「Ultra Addons for Contact Form 7」に任意ファイル削除の脆弱性(CVE-2026-102435) 2026/11/02
- WordPressプラグイン「NextGEN Gallery」にリモートコード実行の脆弱性(CVE-2026-76010) 2026/10/31
- WordPressプラグイン「Debug Log Manager」にXSSの脆弱性(CVE-2026-120114) 2026/10/31
- WordPressプラグイン「WP Directory Kit」にSQLインジェクションの脆弱性(CVE-2026-109197) 2026/10/31

