PrestaShopの検索機能に乗っ取りの脆弱性 CVE-2026-54159、4.0.4へ更新を
ネットショップを作れる人気の無料ソフト「PrestaShop」の標準の絞り込み検索機能に、危険度が最高の10点満点という欠陥が見つかりました。CVE-2026-54159で、細工したURLを一度送るだけで、ログインなしにショップとサーバーを乗っ取られる恐れがあります。対象は検索モジュール3.0.0〜4.0.3。修正版4.0.4への更新が必要です。
目次
ネットショップを作れる人気の無料ソフト「PrestaShop」の標準の絞り込み検索機能に、危険度が最高の10点満点という欠陥が見つかりました。CVE-2026-54159で、細工したURLを一度送るだけで、ログインなしにショップとサーバーを乗っ取られる恐れがあります。対象は検索モジュール3.0.0〜4.0.3。修正版4.0.4への更新が必要です。
ネットショップを作れる人気の無料ソフト「PrestaShop(プレスタショップ)」の標準の絞り込み検索機能に、危険度が最高の10点満点という深刻な欠陥が見つかりました。CVE-2026-54159で、細工したURLを一度送るだけで、ログインなしにショップとその裏側のサーバーを丸ごと乗っ取られる恐れがあります。会員情報や注文データ、決済まわりを扱うショップの土台が狙われるため、影響は小さくありません。
問題があるのは、商品を価格や特徴で絞り込む「Faceted Search(ファセット検索)」というモジュール(追加機能)です。多くのPrestaShopのショップが使う定番機能で、開発元は2026年7月17日に修正版のバージョン4.0.4を公開しました。すでに悪用が広まる前に、対象のショップは急いで更新する必要があります。何が起きるのか、どのショップが対象か、どう対処すればよいかを順に説明します。
この記事の要点(3行)
- ネットショップ作成ソフトPrestaShopの絞り込み検索機能に、危険度10点満点(最高)の欠陥。ログイン不要で、細工したURL一発でショップ乗っ取りに至る恐れ。
- 対象は検索モジュール「Faceted Search(ps_facetedsearch)」の3.0.0〜4.0.3。PrestaShop 1.7.1.0以降のストアが対象。
- 修正版4.0.4が公開済み。対象ショップはただちに更新を。実際の攻撃報告・攻撃中リスト登録は現時点でなし。
PrestaShopと「絞り込み検索」とは
PrestaShopは、プログラミングの専門知識がなくてもネットショップを開ける無料のソフトです。世界中で数十万規模のショップが使っており、とくにヨーロッパで広く普及しています。日本でも、海外向けに販売する事業者などが利用しています。ショップの土台となるソフトなので、ここに穴があると、扱っている商品情報・会員情報・注文データがまとめて危険にさらされます。
今回問題が見つかった「Faceted Search」は、買い物客が商品を絞り込むための機能です。価格帯・色・サイズ・ブランドといった条件で候補を絞る、あの左側のサイドバーのことだと考えてください。多くのショップが標準で入れている定番モジュールで、それだけに影響範囲も広くなります。
やっかいなのは、この機能が買い物客なら誰でも触れる「表側(フロント)」で動く点です。会員登録もログインも必要ありません。つまり、攻撃者はショップに一見ふつうのアクセスをするだけで、この穴を突けてしまいます。危険度が最高の10点満点と評価されたのは、この「誰でも・ログインなしで・遠隔から」という条件がそろっているためです。
誰が、何のために狙うのか
この欠陥を狙うのは、古いFaceted Searchを入れたままのPrestaShopショップを、機械的に大量に探し回る攻撃者です。ネットショップは金銭や個人情報が集まる場所なので、攻撃者にとっては旨みが大きく、更新の遅れたショップは格好の標的になります。有名店だけの話ではありません。
攻撃者は、価格の絞り込みに使うURLのパラメータに細工を仕込み、サーバー上に「裏口(Webシェル)」となる不正なプログラムを書き込んで、遠隔からショップを自由に操ろうとします。裏口を作られてしまえば、あとはやりたい放題です。
被害はショップ運営者にとどまりません。乗っ取られたショップでは、決済ページにカード情報を抜き取る仕掛けを埋め込まれる「Webスキミング」や、会員情報・注文履歴の流出、偽ページへの誘導などが起こりえます。買い物をした一般の利用者が、知らないうちにカード情報を盗まれる恐れもあります。ネットショップの乗っ取りは、運営者の信用と顧客の被害に直結します。だからこそ、次に示す更新を急ぐ必要があります。こうした「公開ソフトの部品」経由で被害が広がる仕組みは、公開ソフトの部品に潜むリスクをまとめた記事でも扱っています。
技術的に見ると ― なぜURL1回で乗っ取れるのか
この欠陥は、専門的には「PHPオブジェクトインジェクション」と呼ばれる種類です。PrestaShopは主にPHPというプログラミング言語で作られています。Faceted Searchは、買い物客が選んだ絞り込み条件をURLから読み取り、内部のキャッシュ(一時的な保存領域)にそのままの形で保存・復元していました。この復元に、PHPのunserialize()という仕組みを、入力を十分に点検しないまま使っていたのが原因です。
とくに価格や重さのスライダー(範囲を指定する絞り込み)で使う値が、URLからほぼ無検査で取り込まれていました。攻撃者はこの値に、悪意を持って組み立てた「PHPのオブジェクト(データのかたまり)」を紛れ込ませます。それがキャッシュに保存され、あとでunserialize()で復元される際に、内部の部品を数珠つなぎに悪用する「ガジェットチェーン」という手口が働き、モジュールのフォルダ内に任意のPHPファイルを書き込めます。書き込まれたファイルが遠隔操作用の裏口(Webシェル)として使われ、サーバー上で好きな命令を実行される、という流れです。
攻撃に必要なのは、表側への1回の細工したリクエストだけで、ログインも特別な権限もいりません。信頼できない入力をそのままunserialize()に渡す実装は、古くから危険とされてきた典型的な落とし穴で、今回もそこを突かれた形です。
自分のショップは影響を受けるのか(早見表)
影響するかどうかは、入れているFaceted Search(ps_facetedsearch)モジュールのバージョンで決まります。管理画面のモジュール一覧から確認できます。
| モジュールのバージョン | 影響 | 対処 |
|---|---|---|
| 3.0.0〜4.0.3 | 対象 (無認証でRCEの恐れ) | 4.0.4以降へ即更新 |
| 4.0.4以降 | 対処済み | 対応不要 |
| 3.0.0より前 | 今回の告知の対象外 (古い版は別途注意) | 最新版へ更新推奨 |
この欠陥は、PrestaShop本体が1.7.1.0以降のストアで影響します。Faceted Searchはほとんどのショップが使う定番モジュールのため、「うちは特殊な設定をしていないから大丈夫」とは考えにくい状況です。バージョンを思い込みで判断せず、実際にモジュール一覧で確認してください。
いま何をすればいいのか
最優先は、Faceted Search(ps_facetedsearch)モジュールを4.0.4以降へ更新することです。PrestaShopの管理画面のモジュール管理から更新できます。決済や会員情報を扱うショップの土台に関わる欠陥なので、後回しにせず早めに当ててください。
すぐに更新できない事情がある場合は、被害を抑える一時的な手段として、ショップの前段にあるWAF(不正な通信を検知して遮断する仕組み)で、絞り込み検索のパラメータに不自然な値が含まれるリクエストを弾く設定が考えられます。ただしこれは応急的な緩和にすぎず、根本対処はあくまでモジュールの更新です。あわせて、身に覚えのないPHPファイルがモジュールのフォルダに作られていないか、管理画面の管理者アカウントに不審な追加がないかも点検しておくと安心です。
今回の欠陥について、現時点で実際に攻撃へ使われたという報告や、米政府機関CISAが公開する「実際に攻撃されている脆弱性リスト(KEV)」への登録は確認されていません。ただし危険度が最高の10点で手口も明確なため、悪用が始まるのは時間の問題とみておくべきです。実際の攻撃が始まっていないかは、攻撃中の脆弱性を追う一覧(日本語版)で確認できます。ネットショップやサイトの土台となるソフトの欠陥という点では、同時期に見つかったWordPress本体の脆弱性とも共通する注意点があります。
よくある質問(FAQ)
Q. どのくらい危険なのですか?
危険度はCVSSという指標で最高の10点満点です。ログインも特別な権限も不要で、細工したURLを一度送るだけで、遠隔からショップとサーバーを乗っ取られる恐れがあります。ネットショップの土台に関わるため、成立すると会員情報や注文・決済データまで危険にさらされます。
Q. 自分のショップが対象か、どう確認しますか?
PrestaShopの管理画面のモジュール一覧で、「Faceted Search(ps_facetedsearch)」のバージョンを確認してください。3.0.0〜4.0.3なら対象です。4.0.4以降になっていれば対処済みです。PrestaShop本体が1.7.1.0以降のストアが影響範囲です。
Q. すぐ更新できないときは?
応急策として、ショップ前段のWAFで絞り込み検索のパラメータに不審な値を含むリクエストを遮断する方法があります。ただしこれは一時しのぎで、根本対処はモジュールを4.0.4以降へ更新することです。あわせて、モジュールのフォルダに見覚えのないPHPファイルが作られていないかも確認してください。
Q. すでに攻撃に使われていますか?
現時点で、実際に攻撃へ使われたという報告や、米CISAの「実際に攻撃されている脆弱性リスト(KEV)」への登録は確認されていません。ただし危険度が最高で手口も明確なため、早めの更新が強く推奨されます。
まとめ
ネットショップ作成ソフトPrestaShopの定番の絞り込み検索機能「Faceted Search」に、危険度が最高の10点満点という欠陥(CVE-2026-54159)が見つかりました。買い物客なら誰でも触れる表側から、ログインなしに細工したURLを一度送るだけで、ショップとサーバーを乗っ取られる恐れがあります。原因は、URLから取り込んだ値を十分に点検せずにunserialize()で復元していたことです。
救いは、修正版4.0.4がすでに公開されていることです。対象は検索モジュールの3.0.0〜4.0.3で、PrestaShop 1.7.1.0以降のストアが影響を受けます。実際の攻撃報告はまだありませんが、危険度が最高で手口も明確なだけに、悪用は時間の問題です。対象のショップは、決済や顧客情報を守るためにも、ただちに4.0.4以降へ更新してください。
参照元

堀川 慎
Backend Engineer / AWS / Django / Go