loader image

[2026年10月第3週] Web業界ウィークリー:プラグイン経由の乗っ取りが続く・WordPress 7.2 Beta 1は20日・Firefox 158

当ページのリンクには広告が含まれています。
Web業界ウィークリー 2026年10月第3週

今週(10/12〜10/18)は、WordPress本体のリリースもGoogleの検索アップデートもない、静かな週でした。そのぶん目立ったのが、プラグインの脆弱性を使った攻撃です。あわせて、来週に迫ったWordPress 7.2 Beta 1の中身と、10月13日公開のFirefox 158を取り上げます。

読む章の目安です。WordPressサイトを管理しているなら1章を最優先で、テーマやプラグインを作っているなら2章、CSSを書くなら3章、証明書の更新を自分で回しているなら4章です。

目次

プラグイン経由の乗っ取りが続く — Bricksforge はログイン不要、Ninja Forms は管理者が開くだけ

10月12日、ページビルダー「Bricks」の拡張プラグインであるBricksforgeに、CVSS 10.0(最高値)の脆弱性があり、すでに攻撃に使われていると報じられました。あわせて、問い合わせフォームのNinja Formsなど2つのプラグインの脆弱性も、乗っ取りに使われています。

出典: The Hacker News — Attackers Exploit CVSS 10.0 Bricksforge WordPress Flaw / BleepingComputer — Ninja Forms plugin flaw exploited to hack WordPress sites

Ninja Formsなどを使った乗っ取りの流れと、プラグインを更新しても残る4つの裏口
Ninja Forms などを使った乗っ取りの流れ。更新しても裏口は残る

Bricksforge(CVE-2026-85097)は、ログインしていない攻撃者がPHPファイルを置いて実行できる穴です。 管理者の操作は要りません。 3.1.8.9以前が対象で、3.1.8.10で直っています。Patchstackは10月7日から、自動化された攻撃を確認しています。

Ninja Forms(CVE-2026-94504)は手口が違い、管理者の操作が引き金になります。 50万以上のサイトで使われている問い合わせフォームのプラグインです。 3.15.3以前が対象で、3.15.4で直っています。WooCommerce向けのWPC Product Bundles(8.6.6以前)も同じ手口で狙われました。流れは図のとおりで、フォームの送信内容や注文データにスクリプトを仕込み、ログイン中の管理者がそれを管理画面で開いたときに、その権限で偽のプラグインを入れて管理者アカウントを作ります。

怖いのは、プラグインを更新しても、仕込まれた裏口は消えないことです。 報告では、次の4つが残されます。

  • 普通に見える管理者アカウント
  • 管理画面のユーザー一覧にも件数にも出ない、隠れた管理者アカウント
  • 開くだけで、サイトでいちばん古い管理者としてログインできてしまう秘密のURL
  • ログインなしで開けるファイルマネージャー

隠れた管理者は管理画面からは見えないので、データベースを直接見る必要があります。見つかった場合は、不審なアカウントとプラグインの削除だけで済ませず、管理者全員のパスワード変更、wp-content/mu-plugins の確認、バックアップからの復元の検討まで進めてください。

前号で、コメント欄が絡む修正が4週で3回目と書きましたが、今回も入口は「管理者が届いたものを読む」という日常の操作でした。 更新だけで安心せず、感染していないかの確認までを1セットにしておきたいところです。

💡 今すぐ試せる: Ninja Forms・Bricksforge・WPC Product Bundlesのバージョンを確認する。あわせて、phpMyAdminなどで次のSQLを実行し、出てきた管理者の数が管理画面の「ユーザー」と合っているかを見る(wp_ は環境の接頭辞に合わせる)。見覚えのないプラグイン(偽の「WP Smart Thumbnails」など)がないかも確認する

SELECT user_id FROM wp_usermeta
WHERE meta_key = 'wp_capabilities'
  AND meta_value LIKE '%administrator%';

WordPress 7.2 Beta 1 は10月20日 — 新しい既定テーマ「Ipsum」と wp_kses() の作り直し

10月14日、WordPress開発者ブログの月例記事で、7.2の予定と主な変更がまとまりました。Beta 1は10月20日(火)、RC1は11月17日、正式版は12月8日の予定です。2026年最後のメジャーリリースになります。

出典: WordPress Developer Blog — What’s new for developers? (October 2026)

制作の現場に関わりそうなのは次の4つです。

  • 新しい既定テーマ「Ipsum」: 「Twenty Twenty-Five」のような年の名前をやめ、ダミー文章の「lorem ipsum」から名付けられました。シンプルなブログ向けです
  • wp_kses() の作り直し: HTMLを無害化する関数を、HTML APIの上に作り直す計画です。7.2か7.3が目標で、出力されるHTMLが正規化され、scriptとstyleの中身は取り除かれます
  • プラグインの自動セキュリティ審査: WordPress.orgにプラグインの新版を出すと、複数のAIモデルとJetpack Scanが採点し、危険度が高いものは自動で止められます
  • Application Passwords の強化: 追加されたときのメール通知などが予定されています

影響が出やすいのは wp_kses() の変更だと思います。 HTMLを無害化したあと、その結果を保存したり比べたりしているプラグインやテーマは、出力が変わると動きも変わります。元の挙動に戻すフィルター(wp_kses_force_legacy_parser)も用意されていますが、公式も「一時しのぎ」と書いています。

自動審査のほうは、1章の話と地続きです。 公式のディレクトリに出るプラグインには入口で網がかかるようになりますが、公式ディレクトリの外で売られている有料プラグインや、案件ごとに作ったプラグインは対象外です。そこは引き続き、使う側が更新と点検を回すしかありません。

💡 今すぐ試せる: 自作のテーマやプラグインで wp_kses や wp_kses_post を使っている箇所を検索し、無害化した結果を保存・比較しているところがないか洗い出しておく。Beta 1が出たら、そこから試す

Firefox 158(10/13)— CSS typed arithmetic が主要ブラウザで揃った

10月13日にFirefox 158が公開されました。

出典: MDN — Firefox 158 release notes for developers / MDN — Using CSS typed arithmetic

いちばん大きいのは、CSS typed arithmetic に対応したことです。 calc() の中で、単位のある値を、同じ種類の単位のある値で割れるようになりました。たとえば calc(100cqi / 1px) と書くと、枠の幅が600pxなら単位のない「600」になります。この数に 1deg や 1rem を掛ければ、角度にも文字サイズにも変えられます。

See the Pen CSS typed arithmetic — 幅を「単位なしの数」にして、ほかの値に使い回す by BaseKENT (@basekent) on CodePen.

.stage { container-type: inline-size; } /* cqi を使うには、親を「枠」にする */

.card {
  --w: calc(100cqi / 1px);                  /* 枠の幅を、単位のない数に */
  --t: clamp(0, (var(--w) - 280) / 520, 1); /* 280px→0、800px→1 の割合 */

  padding: calc(12px + var(--t) * 20px);
  background: hsl(calc(200 + var(--t) * 80) 70% 55% / .18);
}
.icon { rotate: calc(var(--t) * 180deg); }

Chromeは140から、Safariは26から対応していて、Firefoxが最後でした。 主要ブラウザで揃ったので、実務で使える段階に入ったと言えます。ただし、未対応のブラウザでは割り算を含む宣言が丸ごと捨てられます。デモでは @supports not (width: calc(100cqi / 1px * 1px)) の中に固定値を置いて、古いブラウザでも崩れないようにしています。

もう1つ、前号の訂正があります。 前号でJPEG XLについて「Firefoxの安定版での対応は確認できていない」と書きましたが、158でJPEG XLが既定で有効になりました。 画像リクエストの Accept ヘッダーにも image/jxl が加わっています。これでChrome・Safari・Firefoxのすべてで表示できます。

💡 今すぐ試せる: JavaScriptで要素の幅を読み取り、その値でスタイルを書き換えている箇所を探す。単純な比例の計算なら、コンテナクエリの単位と typed arithmetic でCSSだけに置き換えられる候補になる

Let’s Encrypt がステージングを64日証明書に切り替え — 更新の予行演習ができる状態に

前号で取り上げたLet’s Encryptの有効期間短縮について、予告どおりステージング環境が64日の証明書に切り替わったと、公式フォーラムで告知されました。本番の切り替えは2027年2月10日です。

出典: Let’s Encrypt Community — 64-day certificates on the classic profile in staging

レンタルサーバーの無料SSLを自動更新に任せているなら、基本的に対応は要りません。 関係するのは、VPSなどで自分で更新を回している場合です。

ステージングで発行される証明書はブラウザに信頼されないので、本番のサイトには使えません。 試せるのは、更新の仕組みが64日でも回るかどうかです。certbotなら、certbot renew --dry-run がステージングに対して更新を試す仕組みなので、今後は64日の証明書で予行演習することになります。

前号では「スクリプトの中の83・80・60を探す」ことを勧めましたが、探すだけでは安心しきれません。 実際に64日の証明書を受け取って、更新の判定がどう動くかまで見ておくと確実です。

💡 今すぐ試せる: 自分で証明書を管理しているサーバーで certbot renew --dry-run を流し、エラーが出ないかを確認する。cronで日数を決め打ちしている場合は、あわせて設定を見直す

今週のひとこと

Ninja Formsの件は、更新しても裏口が残るという点で、これまでの脆弱性の話と一段違います。直すことと、入られていないか確かめることは別の作業です。来週は20日(火)にWordPress 7.2 Beta 1とChrome 156が重なる見込みで、検証の多い週になりそうです。

A created this document

ベースケント合同会社(BASE KENT)代表 / Webデザイナー・Web制作者。

「空白をデザインする」をテーマに、Webコンテンツ制作とデジタルマーケティングを展開。
暮らしとWeb制作の実用情報メディア「Ex-TORANOMAKI」、雑学メディア「どうせヒマなら」を運営しています。

目次