FORSMILE
EN
セキュリティ2026/09/16

【緊急】JetFormBuilder CVE-2026-12793:3.6.5.3へ即更新 — 未認証で管理者アカウントを作られる

WordPressのフォームプラグインJetFormBuilder(有効インストール約8万件)に、認証なしで管理者アカウントを作成できる欠陥が見つかりました。CVSS v3.1で9.8 CRITICAL。このCVE自体は3.6.2.1で修正済みですが、9月に別の脆弱性が5件出ており、6件すべてを塞ぐには3.6.5.2以降が必要です。

ブログ一覧へ / Back to Blog

JetFormBuilder — Dynamic Blocks Form Builder に、認証を一切通っていない攻撃者が、管理者権限のユーザーアカウントを新しく作れる欠陥が見つかりました。CVE-2026-12793 です。WordPress.orgが公表している有効インストール数は約80,000件です。

フォーム送信時に渡されたフォームIDを、プラグインが「本当にJetFormBuilderのフォームか」を確認していません。攻撃者が別の投稿のIDを指定すると、プラグインはその投稿の本文をフォームの定義として解釈し、そこに書かれたAdvanced Validation のサーバーサイドコールバックを実行してしまいます。

このCVE自体は 3.6.2.1 で修正済みです。ただしそこまで上げれば終わり、ではありません。このプラグインは2026年9月に入ってから別の脆弱性が5件公表されており、6件すべてを塞ぐには 3.6.5.2 以降が必要です。現行の最新版は 3.6.5.3(2026年9月14日公開)で、今回と同じコールバック周りをさらに強化しているため、更新先は3.6.5.3を推奨します。後半で一覧にします。

今すぐ行う対策

  • 自分が対象かを確認する。 WordPress管理画面の「プラグイン」で JetFormBuilder — Dynamic Blocks Form Builder を探し、バージョンを見ます。このCVEの対象は3.6.2以前で、3.6.2.1 で修正されています。
  • 3.6.5.3 へ更新する。 2026年9月14日公開の最新版です。管理画面の「プラグイン」→「更新」から適用できます。このCVEだけなら3.6.2.1で足りますが、9月の他5件が3.6.5.2までかかっているため、途中で止めない理由が次の章にあります。
  • 更新しても、すでに作られたアカウントは消えません。 更新で塞げるのは入口だけです。「ユーザー」一覧を開き、身に覚えのない管理者アカウントが無いかを必ず確認してください。
  • 停止中でも更新する。 有効化していなくてもファイルはサーバーに残ります。もう使っていないなら、更新ではなく削除するほうが確実です。
  • 採番元のCVEレコードに回避策の記載はありません。 設定変更で緩和する方法は示されていないため、更新以外の選択肢は用意されていないと考えてください。
⚠ CVE Score — 最高危険度 / CRITICAL
9.8CRITICALCVSS v3.1CVE-2026-12793

このスコアの出どころを明記します。 9.8 は採番元(CNA)であるWordfenceがCVSS v3.1で付けた評価です。ベクタは `CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H`、弱点の種類は CWE-269(不適切な権限管理) です。

2026年9月16日時点で、NVDでの状態は「Received」で、NISTによる独自の分析とスコアはまだ付いていません。NVDのページに出ている9.8は、このWordfenceの値がそのまま表示されているものです。別の版(v4.0など)のスコアは公表されていません。

CVEレコードに記録されている経緯は、2026年6月11日に発見、6月20日に開発元へ通知、9月15日に公開。報告者は「daroo」とされています。通知から公開まで約3か月あり、修正版は公開時点ですでに配布済みという流れです。

「3.6.3へ上げれば安全」ではない — 9月だけで6件

ここがこの記事で一番伝えたい点です。このCVEだけを見て更新先を決めると、塞ぎ残しが出ます。

JetFormBuilderは2026年9月に入ってから、このCVEを含めて6件の脆弱性が公表されています。採番元も対象バージョンもバラバラです。

  • CVE-2026-12793(9月16日公開/CVSS v3.1 9.8 CRITICAL/Wordfence)— 本記事の対象。3.6.2以前。未認証での管理者アカウント作成。
  • CVE-2026-84817(9月8日公開/CVSS v3.1 7.1 HIGH/Patchstack)— 3.6.5.1以前。未認証のクロスサイトスクリプティング。CVEレコードに「3.6.5.2で影響を受けなくなる」と明記されています。
  • CVE-2026-19858(9月5日公開/CVSS v3.1 7.5 HIGH/WPScan)— 3.6.5.2より前。未認証でパスワードハッシュや任意のメタデータが読み出せる問題。
  • CVE-2026-19859(9月6日公開/CVSS v3.1 6.5 MEDIUM/WPScan)— 3.6.5.2より前。リクエストパラメータのサニタイズ不足。
  • CVE-2026-19862(9月6日公開/CVSS v3.1 4.8 MEDIUM/WPScan)— 3.6.5.2より前。改行文字の検証不足。
  • CVE-2026-19861(9月5日公開/CVSS v3.1 4.7 MEDIUM/WPScan)— 3.6.5.2より前

5件が「3.6.5.2より前」を対象にしています。つまりCVE-2026-12793だけを見て3.6.3や3.6.4に上げると、未認証でパスワードハッシュが読めるCVE-2026-19858(7.5 HIGH)が残ったままになります。

さらに3.6.5.3(2026年9月14日公開)の変更点は「Secure SSR callbacks with admin-managed registry」で、今回のCVEと同じサーバーサイドコールバックまわりを、もう一段締め直しています。

6件すべてを覆う最小のバージョンは 3.6.5.2 です。そのうえで、同じコールバック周りをさらに締め直した 3.6.5.3 が現行の最新版なので、更新先としては3.6.5.3を推奨します。

修正版は3.6.2.1 — SVNのリビジョンで確かめられる

CVEレコードには「修正版はこれ」という一文がありません。あるのは「3.6.2以前が影響を受ける」という範囲指定と、それ以外は既定で「影響なし」という指定だけです。この読み方をすると、3.6.2.1以降は範囲外ということになります。

これは別の方法で裏が取れます。CVEレコードが参照先として挙げているのは、WordPress公式リポジトリの変更セット 3575346 です。WordPress.orgのプラグインはSubversionで管理されており、特定のリビジョン時点のディレクトリ一覧を取り出せます。タグの一覧を、この変更セットの前後で比べてみます。

リビジョン3575345の時点では3.6.2までしかタグが存在せず、3575346で3.6.2.1のタグが現れます。つまりこのCVEが参照している変更セットは、3.6.2.1のリリースそのものです。CVEレコードの範囲指定とも矛盾しません。

したがって、このCVEの修正版は 3.6.2.1 です。変更履歴にある3.6.2.2の「SSR validation privilege escalation hardening」と、3.6.5.3の「Secure SSR callbacks with admin-managed registry」は、同じ領域をその後さらに強化したものと読むのが自然です。

なお、採番元であるWordfenceのアドバイザリ本文と、trac上の差分そのものは、自動取得ではbot判定(HTTP 202/403)になり中身を確認できていません。上の判断は、CVEレコードの範囲指定と、WordPress公式SVNのリビジョン比較という、どちらも一次情報だけで組み立てています。

侵害されていないかを確認する

未認証で管理者を作れる欠陥なので、確認すべきは「増えている管理者がいないか」です。WP-CLIが使えるなら、管理者アカウントを登録日つきで一覧にできます。

bash
# 管理者権限のユーザーを登録日つきで一覧表示する
wp user list --role=administrator \
  --fields=ID,user_login,user_email,user_registered

# 登録日の新しい順に並べる
wp user list --role=administrator \
  --fields=ID,user_login,user_email,user_registered \
  --orderby=registered --order=DESC

管理画面だけで確認する場合は「ユーザー」→「すべてのユーザー」を開き、権限グループが「管理者」の行を数えます。心当たりのないアカウントがあれば、削除する前にユーザー名・メールアドレス・登録日を控えてください。調査のときに必要になります。

ログを調べる場合は、CVEのタイトルに挙げられているパラメータ名 `_jet_engine_booking_form_id` が手がかりになります。ただし落とし穴が2つあります。

1つ目。ApacheやNginxの標準的なアクセスログには、POSTの本文が記録されません。記録されるのはリクエスト行(メソッド・パス・クエリ文字列)とヘッダだけです。フォームの送信内容はPOST本文に入るため、標準のアクセスログをいくら検索しても、攻撃されていた場合でも何も出てきません。探せるのは、WAFのログ、監査ログ、リバースプロキシでリクエスト本文を記録している場合など、本文を保存している種類のログに限られます。

2つ目。見つかったとしても侵害の証拠にはなりません。JetEngineのブッキングフォームを正規に使っているサイトでは、通常の利用でも同じパラメータが記録されます。

つまり、出ても出なくても結論は出ません。主たる確認手段はあくまで管理者アカウントの一覧です。ログはそれを補強する材料として扱ってください。

  • 管理者アカウントの一覧を取り、身に覚えのないものが無いか確認する。特に2026年9月15日(公開日)以降に登録されたものは重点的に見る。
  • 見つけたら、消す前に記録する。ユーザー名・メールアドレス・登録日時を控える。
  • 管理者の追加は入口に過ぎない。侵入された前提で、投稿・固定ページ・テーマファイル・アップロードディレクトリに見覚えのないファイルが無いかも確認する。
  • 全管理者のパスワードを変更し、ログインセッションを破棄する。WordPressのプロフィール画面に「他の全ての場所からログアウト」があります。

KEVとJVNの状況(2026年9月16日時点)

米国CISAの「悪用が確認された脆弱性(KEV)」カタログには、まだ収載されていません。確認したカタログは 2026.09.14 版です。日本のJVN iPediaにも、JetFormBuilderに関する脆弱性情報は登録されていません(検索結果0件)。

これは「危険ではない」という意味ではありません。KEVは「実際の悪用が確認されたもの」を載せる仕組みで、公表直後のWordPressプラグインの脆弱性が即日入ることはまずありません。JVNへの登録も同様に時間差があります。

公表されたのは日本時間で9月16日の未明です。プラグインの脆弱性は、公表後に攻撃コードが出回って一斉にスキャンが始まるのが通例なので、「まだ悪用報告が無いうち」が最も安全に更新できる時間帯だと考えてください。

この記事の根拠

  • CVE-ID・スコア・影響範囲・CWE・経緯:CVE.orgのCVEレコード(採番元Wordfence)とNVDのページ。両方を開いて一致を確認しています。
  • 修正版が3.6.2.1であること:CVEレコードの範囲指定に加え、WordPress公式SVN(`plugins.svn.wordpress.org`)で変更セット3575346の前後のタグ一覧を比較し、このリビジョンで3.6.2.1のタグが作られたことを確認しています。
  • 最新バージョンと変更履歴:WordPress.org公式のプラグインAPI(`api.wordpress.org`)が返す値。バージョン3.6.5.3、更新日2026年9月14日、有効インストール約80,000件。
  • 9月の他5件:各CVEのCVEレコードとNVDのページ。対象バージョンは各レコードの記載をそのまま引いています。
  • 確認できなかったもの:Wordfenceのアドバイザリ本文と、trac上の修正差分そのもの。いずれも自動取得ではbot判定になります。ただし修正版の特定には上記のSVN比較で足りています。
参考リンク / References
🚨 「しまった!」と思ったら、今すぐこちらへ

被害に遭った直後・遭ったかもしれない時のための、状況別の緊急対応ガイドです。落ち着いて、上から順に対処すれば大丈夫です。

Related articles