Blocksyの付属プラグインに脆弱性発覚、ログインしていない人が販売者のアカウントを作れる

OVERVIEW

WordPress テーマ Blocksy の付属プラグイン Blocksy Companion で、Blocksy Companion 2.1.58 以前に、権限を不正に上げられる脆弱性(CVE-2026-107645)が見つかりました。2026年10月10日に公開された記録によると、ネットショップに複数の販売者を出店させるプラグイン Dokan を使っているサイトでは、ログインしていない人が販売者のアカウントを作り、そのままログインした状態になれます。深刻度の点数(CVSS)は10点満点の9.1です。

原因は、Blocksy Companion の会員登録の処理が、Dokan 側の確認を自分で外していたことです。Dokan の設定で販売者の登録を受け付けていないサイトも対象で、修正は Blocksy Companion 2.1.59 に入っています。

この記事では、Blocksy Companion の会員登録で何が起きていたのかと、なぜ販売者として登録できてしまったのかを、脆弱性の記録と、WordPress.org で公開されている修正前後のコードから書きます。Dokan の販売者に何ができるのかと、更新したあとに見ておく場所は後半にまとめました。

Blocksy Companionとは

Blocksy Companion

Blocksy Companion は、Creative Themes が作る WordPress テーマ Blocksy の公式プラグインです。WordPress.org の説明では、テーマ Blocksy に、デモサイトの取り込みや追加の拡張機能、WooCommerce 向けの機能を足すプラグインです。WordPress.org での有効インストールは30万以上で、テーマ Blocksy も同じく30万以上のサイトで使われています。

今回問題になったのは、ヘッダーのアカウントのボタンから開く小窓(モーダル)での会員登録です。訪問者はページを移動せずに、その場でログインや会員登録ができます。ネットショップを作るプラグイン WooCommerce で会員登録を受け付けているサイトでは、この小窓からの登録は WooCommerce の会員(客)を作る処理を通ります。

Blocksy Companion 2.1.58以前は、ログインしていない人がDokanの販売者として入れた

脆弱性の記録によると、Blocksy Companion 2.1.58 以前のすべてのバージョンで、ログインしていない人が、この会員登録から Dokan の「販売者(seller)」のアカウントを作れました。作ったアカウントには、そのままログインした状態になります。記録は、Dokan の販売者の登録をはっきりオフにしているサイトも対象に含まれると書いています。

Dokan は、WooCommerce のショップを、複数の販売者が出店するモール(マーケットプレイス)にするプラグインです。WordPress.org で配られている無料版 Dokan Lite の有効インストールは3万以上です。Dokan が入っていないサイトには販売者という役割そのものが無いので、記録が書いている経路の外になります。

CVSS 9.1 の内訳は、ネット越しに、ログインも利用者の操作も要らずに狙えて、情報の漏れと書き換えの影響が「高」、サイトの停止は「なし」という評価です。米国の CISA が10月11日に付けた評価では、実際の悪用は「none(確認なし)」ですが、同時に「自動化しやすい(automatable: yes)」ともされています。多くのサイトを機械的に探して回る攻撃に向いた種類だ、という意味です。

Dokanの販売者は、投稿の公開やファイルのアップロードができる

販売者のアカウントは、普通の客のアカウントより多くのことができます。記録も「通常の客を超える公開の権限が付く」と書いています。Dokan Lite のコードで販売者の役割を見ると、投稿の公開と編集、ファイルのアップロード、コメントの承認、カテゴリーの管理、商品の登録と公開が含まれています。

つまり、入られたサイトでは、知らない人の投稿や商品がサイト上に公開されるおそれがあります。一方で、記録は管理者になれるとは書いていません。この記事でも、管理者の権限まで取られるとは扱いません。

原因は、会員登録の処理がDokanの確認を外し、送られてきた「販売者」の指定を信じていたこと

Blocksy Companion 2.1.58 は、会員登録を受け付けるときに、Dokan が行う確認を自分で無効にしていました。Dokan は、販売者の登録が自分の登録フォームから正しく送られたものかを、フォームに埋め込んだ使い捨ての合言葉(nonce)で確かめます。Blocksy Companion はこの確認を外したうえで、WooCommerce の会員を作る処理へ進んでいました。

確認が外れると、Dokan はこの登録を自分の販売者登録フォームから来たものとして扱い、送られてきた「販売者として登録する」という指定を受け入れます。さらに Blocksy Companion は、同じ指定が送られてきたときに、作ったアカウントへその場でログインさせていました。登録する人が自分で「販売者」と名乗るだけで、販売者として登録され、ログインまで済んでしまう作りでした。

Blocksy Companion 2.1.59 では、この2か所が変わっています。Dokan の確認を外す行は消え、コードには「この確認を外すと、Dokan が自分の販売者フォームとして扱い、販売者の役割を許してしまう」という趣旨の注意書きが加わりました。その場でログインさせるかどうかも、送られてきた指定ではなく、実際に作られたアカウントの役割で決めるようになっています。

修正はBlocksy Companion 2.1.59に入っていて、テーマBlocksyの更新とは別に上げる

今回の修正は、2026年10月8日に出た Blocksy Companion 2.1.59 に入っています。変更履歴には「Account modal – respect Dokan vendor registration setting(アカウントの小窓が、Dokan の販売者登録の設定に従うようにした)」とあります。

  • 10月8日:開発元の Creative Themes に脆弱性が知らされる。同じ日に Blocksy Companion 2.1.59 を公開
  • 10月10日:Wordfence が CVE-2026-107645 の記録を公開
  • 10月29日:現行の Blocksy Companion 2.1.61 を公開。Blocksy Companion 2.1.59 の修正はそのまま残っている

気をつけたいのは、テーマとプラグインが別々に更新されることです。テーマ Blocksy の現行バージョンも 2.1.61 で、Blocksy Companion と番号がそろっています。それでも WordPress の更新画面では、テーマ Blocksy と Blocksy Companion は別の項目として出てきます。テーマ Blocksy を更新しただけでは、Blocksy Companion は古いバージョンのまま残ります。

テーマの付属プラグインがテーマとは別に更新される点は、Jupiter X Coreの「Xでログイン」から、管理者として入られるおそれがあるで書いた Jupiter X Core と同じです。WordPress 本体を 7.1.4 に上げても、Blocksy Companion のバージョンは替わりません(本体の更新は【脆弱性修正】WordPress 7.1.4がリリースされました)。

Blocksy Companion 2.1.61 の必須条件は WordPress 6.7 以上と PHP 7.0 以上で、WordPress 7.1.4 まで動作が確かめられています。

Dokanを入れているサイトは、更新したあとに販売者の一覧を見る

Dokan を使っているサイトは、Blocksy Companion を 2.1.59 以上(現行は 2.1.61)に上げたあと、WordPress の「ユーザー」画面で、役割が販売者(Vendor)のユーザーを確かめてください。

とくに確かめたいのは、WooCommerce で会員登録を受け付けているサイトです。WordPress.org で公開されている Blocksy Companion 2.1.58 のコードでは、この会員登録の処理は、その設定のときに通ります。

更新でふさがるのは、これから先の登録です。更新より前に作られた販売者のアカウントは、Blocksy Companion を更新しても消えません。販売者の登録を受け付けていないはずのサイトに販売者がいる場合や、覚えのない投稿、商品、アップロードされたファイルがある場合は、そのアカウントを止めてから中身を確かめます。

Dokan を使っていないサイトも、Blocksy Companion 2.1.59 から 2.1.61 までの変更履歴には、権限の確認や入力値の扱いを強めた行が続いているので、私たちは現行バージョンへ上げることをおすすめします。

参考にした一次情報


Blocksy Companion のようなテーマの付属プラグインは、テーマを更新しても一緒には上がりません。Dokan で販売者の登録を閉じていたサイトのように、設定で止めたつもりの入口が、付属プラグインの側に残っていることもあります。

サイト番では、プラグインやテーマの定期更新、バックアップ、表示の確認、障害のときの復旧を、担当者が内容を見て行います。

WordPress更新などの保守管理に手が回らない場合は、是非サイト番にお任せください。

サイト番