概要
オランダのeコマースセキュリティ企業Sansecは、Magento Open SourceおよびAdobe Commerceに存在する未パッチのゼロデイ脆弱性「StyleSmuggler」を発見したと発表した。認証不要でリモートコード実行(RCE)が可能で、9月4日から実際の攻撃による侵害が始まっており、Sansecは「まさに今、オンラインストアが侵害されている」と警告している。影響は2.4.6-p15から最新の2.4.9まで現行の全バージョンに及び、2026年7月・8月分のセキュリティアップデートを適用済みの2.4.6-p15環境でも侵害が確認されるなど、パッチ適用状況は防御にならない点が際立った特徴となっている。Adobeは9月6日時点でCVE番号の割り当て、パッチ、公式アドバイザリのいずれも公表しておらず、次回のセキュリティリリース予定日である9月8日にこの脆弱性への対応が含まれるかも未確認のままだ。
攻撃手法の詳細
攻撃は2段階で構成される。第1段階では、攻撃者がGraphQL経由で操作可能な「styles」プロパティを悪用し、Magentoのテンプレートシステムの既存のセーフガードや入力サニタイズを回避して、決済失敗レポートなどMagentoが通常運用中に生成するファイルへ悪意あるPHPコードを注入する。第2段階では、攻撃者が意図的に「Payment Transaction Failed Reminder(決済失敗リマインダー)」メールの送信をトリガーし、Magentoがこのメッセージを内部でレンダリングする際に、注入済みの毒化コードが受信者の操作なしに自動実行される。この手法はメール配信自体が失敗しても成立する点が特徴で、既存の防御をすり抜けやすい設計になっている。
設置されるバックドアは、x86-64・ARM64向けに静的リンクされた約1.9MBのRust製バイナリで、Linuxのカーネルスレッド「[kworker/u:8:0]」を装って動作を隠蔽する。実行ファイルは~/.local/share/.gvfsd/gvfsd-userなどに配置され、5分ごとに再起動するcronエントリで永続化されるほか、fc-cacheという別バリアントは~/.cache/fontconfig/fc-cacheへ自己コピーし、1時間に2回再起動する設定を行う個体も確認されている。あるケースでは、感染したストアが28本のRedis接続を同時に張り、セッションデータをほぼネットワーク監視から見えない形で監視し続けていたという。C2通信には「ntp.timesync.to」宛のポート123へのUDP送信を偽装したプロトコルが使われ、48バイトのパケットのうち先頭4バイトのみが本物のNTPデータで、残りはエージェントID・ホスト名・OSバージョンなどをMessagePack形式で格納しており、出口フィルタリングの回避を狙った設計になっている。C2サーバーとしては99.84.67.186:443(WebSocket/TLS)も観測されている。
実被害と対応状況
ホスティング事業者Disrex Groupは、侵害された2件のストア事例を報告している。1件目はMagento 2.4.8を稼働しSansec Shieldを導入済みだったが依然として侵害が継続中、2件目はMagento 2.4.7-p2で、より古いパッチレベルにもかかわらず侵害された。いずれの事例も11~14時間以内に封じ込められ、データの持ち出しや決済スキマー、データベース内バックドアの設置は確認されていない。Disrex共同創業者のRick Bouma氏は「パッチ適用状況はこの件では無関係だった。これがマーチャントに最も伝えたい部分だ」と述べ、主要な攻撃チェーン以外にも複数の侵入経路が存在することを強調した。DisrexとProxiBlueという独立した研究者らが、同一の3つのスキャナーメソッドを標的とする同一の修正策にそれぞれ独自にたどり着いたことも、この緩和策への信頼性を裏付けている。
検知の手がかりとしては、非rootユーザーで動作する角括弧付きのカーネルスレッド名のプロセス、~/.local/share/.gvfsd/gvfsd-userや一時ディレクトリ内の複数のロックファイル、var/reportやvar/log/system.logディレクトリ内の注入マーカーなどが挙げられている。ファイルだけでなく稼働中プロセスのハッシュも取得し、メモリ上のみに存在する亜種の検出を試みることも推奨されている。
緩和策と今後の見通し
Adobeの正式パッチが提供されるまでの暫定対策として、ヘッドレス構成でない場合はGraphQLを一時的に無効化すること、DisrexやProxiBlue、Graycoreが公開している非公式パッチを適用すること、PHP側でproc_open()を無効化すること、/tmp・/var/tmp・/dev/shmをnoexecオプションでマウントすることなどが挙げられている。SansecはリアルタイムのStyleSmuggler攻撃を防ぐ「Sansec Shield」と、侵害や二次バックドアを検出する「eComscan」を提供して対応にあたっている。Adobeが未だCVE番号すら発行していない状況下で、9月8日に予定される次回セキュリティリリースがこの脆弱性に対応するかどうかが、今後の焦点となる。