WP Project Manager 4.1.2 が未認証 RCE(CVE-2026-116512)を修正、PDF Invoice for WooCommerce 7.2.0 はチェックアウト経由のオブジェクトインジェクションを修正
10月30〜31日に公開された WordPress プラグインの重大な脆弱性 2 件。weDevs Project Manager 4.1.1 以前では匿名の訪問者が REST ルート経由で PHP 関数を呼び出せ、PDF Invoice for WooCommerce 7.1.1 以前ではゲストの注文メモが unserialize() に渡されます。4.1.2 と 7.2.0 へ更新してください。
10月末、WordPress プラグインの未認証で悪用可能な重大な脆弱性が 2 件公開されました。どちらも CVSS 3.1 で 9.8 と評価され、修正版がすでにリリースされています。サイト運営者がやるべきことはシンプルで、今すぐ更新することです。
WP Project Manager 4.1.1 以前:REST リクエストから PHP 関数が呼ばれる(CVE-2026-116512)
weDevs の Project Manager プラグイン(AI 対応のプロジェクト管理、カンバンボード、工数管理)は、4.1.1 までのすべてのバージョンが影響を受けます。Patchstack は 2026年10月30日にこの問題を公開し、修正版を 4.1.2 としています。
公開された CVE の説明によると、原因は次の 2 点の組み合わせです。
- WordPress コアは REST ルートの
validate_callbackをpermission_callbackより先に実行します。プラグインの権限チェックは permission callback 側にあるため、リクエストを止める前に処理が進んでしまいます。 - バリデータはユーザーが送った
idパラメータをパイプ区切りのルール文字列に連結して分割し、各トークンを許可リストなしで PHP 関数として呼び出します。
その結果、匿名の訪問者がサーバー上で任意の PHP 関数を呼び出せます。Patchstack はこの種の脆弱性が大量攻撃キャンペーンに使われやすいと警告し、顧客向けに仮想パッチのルールを提供しています。10月31日の CVE 分析時点では、公開されたエクスプロイトは確認されていません。
コマンドラインでの確認と更新:
wp plugin list --status=active | grep wedevs-project-manager
wp plugin update wedevs-project-manager
プラグイン開発者への教訓も改めて確認しておきましょう。WordPress の REST ルートでは、validate_callback や sanitize_callback の中身は未認証ユーザーのリクエストでも実行されます。認可ロジックをそこに置かず、リクエストデータを呼び出し可能な関数名に変換しないでください。
PDF Invoice for WooCommerce 7.1.1 以前:ゲストの注文メモが unserialize() に届く(CVE-2026-109220)
PDF Invoice for WooCommerce + Drag and Drop Template Builder プラグインは 7.1.1 までのすべてのバージョンが影響を受け、ベンダーは 7.2.0 をリリースしています。
公開された説明によると、匿名の訪問者が WooCommerce Store API を使って細工した customer_note 付きで注文できます。このメモはそのまま請求書の HTML に入り、同梱の mPDF ライブラリ内で unserialize() に渡されます。
実際のリスクを狭める条件が 2 つあります。
- 初期設定のサイトでは、銀行振込(BACS)や小切手などのオフライン決済が有効な場合にのみ発動します。注文が「保留中」になることが請求書生成のきっかけになるためです。
- オブジェクトインジェクションがコード実行につながるのは、サイト上で利用可能な PHP のガジェットチェーンが読み込める場合に限られ、これは他にインストールされているプラグインやライブラリによります。
それでも、銀行振込を受け付けているショップは緊急の対応として扱うべきです。攻撃にはアカウントもユーザー操作も必要ありません。
対応すべきこと
- WP Project Manager を 4.1.2 以降に、PDF Invoice for WooCommerce を 7.2.0 以降に更新する。
- すぐに更新できない場合は、更新できるまでプラグインを無効化する。
- 最近の注文に不審な注文メモがないか確認し、
wp-contentに見覚えのない PHP ファイルが追加されていないか点検する。 - これらはプラグイン側の修正です。10月21日にリリースされた PHP 本体の更新(8.5.12、8.4.27、8.3.36、8.2.35)の代わりにはなりません。
出典
更新すると何かが壊れるため古いプラグインや PHP のまま止まっているサイトがあれば、RescuePHP がお手伝いします。古い WordPress / WooCommerce 環境の監査、セキュリティ修正の適用やバックポート、侵害の痕跡の調査に対応しています。