
WooCommerce の商品ページに、ファイルアップロードや選択肢などの入力項目を追加するプラグイン「PPOM – Product Addons & Custom Fields for WooCommerce」において、セキュリティ上の問題が確認されました。影響を受けるのは、バージョン 34.0.10 までのすべてのバージョンです。
本脆弱性を悪用された場合、ログインしていない第三者によって、サーバー上のファイルを削除される可能性があります。
対策として、バージョン 34.0.11 以降への更新を推奨します。
脆弱性詳細
本脆弱性は、商品ページの「ファイルアップロード」項目に関する注文確定時の処理に存在します。
この処理は、ログインしていない第三者が行う注文でも実行されます。
想定される被害
攻撃が成功した場合、以下のような被害が想定されます。
- サーバー上のファイルの削除
- WordPress の設定ファイル(wp-config.php)などが本来の場所から削除される
- 設定ファイルが削除されると、WordPress の初期設定画面が表示される状態となり、第三者がその画面からサイトを設定し直すことで、サイトを乗っ取られる
- ファイル内容の公開
- 削除されたファイルはプラグインのアップロード用フォルダへ移動されるため、PHP 以外の形式のファイルであれば、第三者がその内容を閲覧できる状態になります。
被害発生の条件
以下の条件がそろった場合に、被害が発生する可能性があります。
- PPOM 34.0.10 以下が有効になっている
- 「ファイルアップロード」または「画像切り抜き(Cropper)」の入力項目を設定した商品が公開されている
- 第三者が注文を確定できる(ゲスト購入を許可している、または誰でも会員登録できる)
支払いを完了する必要はなく、注文を確定するだけで処理が実行されます。
なお、サーバーの環境によっては攻撃が成立しない場合もありますが、環境にかかわらず更新を推奨します。
技術的な詳細
本来の動作
- 購入者が商品ページでファイルをアップロードすると、プラグイン専用のアップロード用フォルダにファイルが保存され、そのファイル名がカートに記録されます。
- 注文確定時には、カートに記録されたファイル名をもとに、ファイルをアップロード用フォルダから注文専用のフォルダへ移動します。
問題点
- カートに追加する際に送られるファイル名を、プラグインはそのまま受け入れて記録していました。
- ファイル名に「上の階層のフォルダ」を指す文字列(パストラバーサル:フォルダをさかのぼってファイルを指定する手法)が含まれていないか、また本当にその購入者がアップロードしたファイルかどうかを確認していませんでした。
- そのため、注文確定時の移動処理で、アップロード用フォルダの外にあるファイルまで移動の対象になっていました。
攻撃の大まかな流れ
- 攻撃者が、ファイルアップロード項目のある商品をカートに追加する
- その際、ファイル名として、サイト内の別の場所にあるファイルを指す値を送信する
- 注文を確定すると、指定したファイルが元の場所から移動される
対策版での修正
バージョン 34.0.11 では、次の修正が行われています。
- フォルダを含むファイル名や、さかのぼり指定を含むファイル名を受け付けないよう変更
- 購入者が自分でアップロードしたファイル以外は、カートや注文に記録しないよう変更
- 注文内容の表示時にファイルを移動していた処理を削除
脆弱性の種類
CWE-22 パス・トラバーサル (任意のファイル削除)
推奨対応事項
該当バージョンのプラグインをご利用の場合、以下の対応を強く推奨します。
- プラグインの更新
- 速やかに、プラグインを対策バージョン(34.0.11 以降)へ更新してください。
- 被害確認
- サイトを表示して、WordPress の初期設定(インストール)画面が表示されないか確認してください。表示される場合は、設定ファイルが削除されている可能性があるため、画面の操作は行わず、直ちにバックアップからの復旧を検討してください。
- サーバー上の「
wp-content/uploads/ppom_files/confirmed/」フォルダを FTP やサーバーの管理画面で開き、身に覚えのないファイルがないか確認してください。通常は「注文番号」のフォルダの中に「商品ID-ファイル名」の形式で保存されます。この形式に当てはまらないファイル(wp-config.php や .htaccess などの設定ファイル、PHP ファイルなど)が「confirmed」フォルダの直下にある場合は、被害を受けている可能性があります。なお、「.」で始まるファイルは、FTP ソフトの設定によっては表示されないため、隠しファイルを表示する設定にして確認してください。 - Webサーバーのアクセスログで、「
ppom_files/confirmed/」へのアクセスのうち、画像やPDFなど通常のアップロードファイル以外へのアクセスがないか確認してください。
- セキュリティ対策の強化
- WAF(Web Application Firewall:不正な通信を検知・遮断する仕組み)を導入していれば、ファイル名にフォルダをさかのぼる文字列を含むリクエストの遮断に有効です。ただし、WAFですべての攻撃を確実に防げるわけではないため、根本的な対策となるプラグインの更新を優先してください。
- サーバーのファイルを定期的にバックアップしておくと、ファイルを削除された場合でも速やかに復旧できます。
⇒ 不審なファイルや注文が確認された場合は、WordPressの専門家などへの相談を推奨します。
影響を受けるバージョン
PPOM – Product Addons & Custom Fields for WooCommerce 34.0.10 までのバージョン
脆弱性情報 (CVE-ID)
CVE-2026-104801
(公開日 2026年10月10日 更新日 2026年10月10日)
脆弱性の深刻度 (CVSS v3)
基本値: 9.1 (緊急) [Wordfence]
※ 「被害発生の条件」に挙げた条件がそろった場合が対象です。
脆弱性脅威度(EPSS)
CVE-2026-104801 悪用確率 0.76% (上位46%) 2026年10月10日時点
ソフトウェア脆弱性情報の著作権に関する注意事項
This record contains material that is subject to copyright.
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.
Copyright 1999-2026 The MITRE Corporation
License: 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®). Any copy you make for such purposes is authorized provided that you reproduce MITRE’s copyright designation and this license in any such copy. Read more.
「WordPressセキュリティ保守」をご利用のお客様へ

WordPress
PPOM for WooCommerce プラグインをご利用中のお客様には、
対策バージョンへの更新状況および推奨対応事項について、順次メールにてご案内しております。
本記事の作成について
本記事は、対象プラグインの公開ソースコードおよびバージョン間の差分を解析し、その結果に基づいて作成しています。
解析および文章作成の過程では生成AIを利用し、内容は当社の担当者が確認したうえで公開しています。



