要点
- ネットショップを作るソフト Magento(Adobe Commerce)に欠陥があり、ログインしていない誰でも、店のサーバーにファイルを置ける。
- この欠陥は「PolyShell」と呼ばれる。調べた Sansec によると、2026年3月から実際の攻撃に使われ、ある攻撃グループは PolyShell で置いた裏口を使って、1時間で471の店に不正なスクリプトを仕込んだ。
- 米国の CISA は 2026年10月27日、この欠陥を「実際に悪用された欠陥」の一覧(KEV)に入れた。修正パッチをまだ当てていない店は、すぐに当てて、侵入された跡がないかを調べる必要がある。
何が起きたか
Magento は、ネットショップを作るためのソフトだ。Magento Open Source と Adobe Commerce の2つがある。
ネットショップを守る会社の Sansec は 2026年3月、この Magento に欠陥があると公表し、「PolyShell」と名付けた。番号は CVE-2026-48356。会員登録をしていない買い物客でも使える仕組みの中に穴があった。外から、画像のふりをしたプログラムのファイルを店のサーバーに置ける。サーバーの設定によっては、置かれたファイルが動き出し、店のサーバーを外から操られる。
Sansec の記録では、攻撃は公表のすぐあとに始まった。最初の探りが 3月16日、実際の攻撃は 3月19日に見つかった。4月14日には、Sansec が見ている店の 82% に、悪いファイルを置こうとする動きがあった。
10月24日、Sansec は別の報告を出した。ある攻撃グループが 2025年7月から、合わせて953の店に不正なスクリプトを仕込んでいたという内容だ。この数には、PolyShell の公表より前の分も入っている。スクリプトは店のページの部品(CMS ブロック)に埋め込まれ、買い物客のブラウザから攻撃者のサーバーにつながる。Sansec によると、2026年3月には、PolyShell で置いた裏口を使い、1時間で471の店にこのスクリプトを仕込んだ。スクリプトが最後に何をするのか、たとえばカード情報を盗むのかは、Sansec もまだ確かめられていない。
Adobe は 2026年7月14日に公告 APSB26-73 を出し、まだサポートしている版にも修正を広げた。CISA は 10月27日にこの欠陥を KEV に入れ、米国の連邦の機関に 11月10日までの対応を求めている。
日本の利用者への影響
確認した Sansec・Adobe・CISA の資料には、日本についての記述は見当たらなかった。
日本の店が当たっていない、という意味ではない。Magento で動く店を運営している会社や、作るのを請け負った会社は、自分の店が当たるかを確かめてほしい。
今すぐやること
- 自社の店が Magento か、どの版かを確かめる。 作るのや保守を外の会社に任せているなら、その会社に聞く。
- 修正を当てる。 Adobe の公告 APSB26-73 のパッチを当てるか、修正済みの版に上げる。Sansec は、すぐに上げられない場合、攻撃を止める WAF(不審な通信を入口で止める仕組み)を置くよう勧めている。
- 侵入された跡を調べる。 Sansec によると、置かれたファイルが動くのを止めても、ファイルそのものはサーバーに残る。Sansec は、アップロード用のフォルダに怪しいファイルが無いか、店のページの部品に知らないスクリプトが入っていないかを調べるよう勧めている(詳しくは下の「技術者向けの詳細」)。
- 跡が見つかったらパスワードを全部変える。 Sansec は、スクリプトを消すだけでは攻撃者の出入りが止まらないと警告し、データベース・管理者・API のパスワードを変えるよう勧めている。身に覚えのない管理者のアカウントが無いかも見る。
- カード情報が漏れた恐れがあるなら、決済代行の会社やカード会社に相談する。
背景
Sansec の数字では、ほかの欠陥の跡との重なりが目立つ。このスクリプトが見つかり、コアのパッチが1つ以上抜けていた Magento 2 の環境は169。そのうち102(60%)では、PolyShell か、別の欠陥「SessionReaper」(CVE-2025-54236)を通して置かれたファイルも見つかった。別のスキマー(カード情報を盗むスクリプト)が入っていた3,024の環境では、この割合は 32% にとどまる。パッチを当てた店にも、このスクリプトは入っている。
技術者向けの詳細
影響を受ける版(Adobe APSB26-73、2026年7月14日公開、8月20日更新)
- Adobe Commerce(Cloud とオンプレミス)と Magento Open Source の次の版
- 2.4.9
- 2.4.8-p5 以前
- 2.4.7-p10 以前
- 2.4.6-p15 以前
- 2.4.5-p17 以前
- 2.4.4-p18 以前
- 修正は、上の各系列の最新 -p 版に当てる単独のパッチ(Isolated パッチ)として出ている。古い -p の場合は、先にその系列の最新 -p に上げる。Cloud は最新の cloud-patches で対応済みとされる。
- Sansec は、2.4.9(2026年5月12日公開)に修正が入っていたと書いている。一方、Adobe の公告は 2.4.9 も影響を受ける版に入れている。2.4.9 でも APSB26-73 を当てておくのが無難だ。
- CVE の記録上の CVSS は 9.3。
欠陥のある場所(Sansec による)
- ゲスト用カートの REST API。認証は要らない。GraphQL の経路は当たらないとされる。
- 置かれたファイルは
pub/media/custom_options/quote/の下に書き込まれる。コードが動くかどうかは、Web サーバーの設定による。
侵入された跡の確かめ方(Sansec が挙げるもの)
- Sansec は、
pub/media/custom_options/に.php・.phtml・.pharがあれば「侵入の強い印」としている。 pub/media/custom_options/とpub/media/customer_address/に、.htaccess以外のファイルが無いかを確かめる。- ドキュメントルートの下に
accesson.phpが無いか。 cms_blockとcms_pageの中身に、fpCode、se_referrer、localStorage.getItemが無いか。admin_userに知らないアカウントが無いか。
find pub/media/custom_options pub/media/customer_address -type f ! -name .htaccess
find . -name accesson.php
- ドメインなどの侵入の印は、Sansec の deepveindrilling.com の報告 に一覧がある。
- Sansec は、Web サーバーで
pub/media/custom_options/への直接のアクセスを拒むよう勧めている(Nginx と Apache の設定例は PolyShell の解説 にある)。ただし、これだけではファイルを置かれること自体は防げない。 - SessionReaper(CVE-2025-54236)の修正は APSB25-88。