Magento・Adobe CommerceのStyleSmuggler型0-day RCE脆弱性、実際の攻撃で悪用中

セキュリティ研究者らは、Magento Open SourceおよびAdobe Commerceのインストール環境に影響を及ぼす、認証不要で悪用可能なリモートコード実行の脆弱性を発見しました。

「StyleSmuggler」と呼ばれるこの脆弱性は、攻撃者がMagentoのテンプレートシステムにPHPペイロードを注入し、通常のアプリケーション処理を通じて実行できてしまうというものです。

Sansecのフォレンジックチームの報告によると、攻撃は9月4日に始まり、インターネットに公開されたECストアが標的となりました。同チームは、Magento Open Sourceのクリーンな環境、具体的にはバージョン2.4.7、2.4.8、2.4.9において、攻撃チェーン全体の再現に成功しています。

注目すべきは、被害に遭った1件がMagento 2.4.6-p15を使用しており、2026年7月と8月のセキュリティパッチを適用済みでパッチ適用状況も問題なしと報告されていた点です。これは、現時点で提供されているパッチではこの脆弱性に対処できていないことを示唆しています。

Securityawareness training

StyleSmugglerの仕組み

StyleSmugglerは、スタイルプロパティを悪用してMagentoのテンプレート処理機能に組み込まれた既存の防御策を回避します。攻撃は次の2段階で進行します。

  1. 攻撃者は、Magentoが生成するコンテンツにPHPコードを注入、あるいは「汚染」します。おそらく失敗レポートを生成する仕組みを介して行われるとみられます。
  2. その後、Magentoが汚染されたコンテンツをレンダリングし、決済失敗通知メールが処理される際に注入されたコードが実行されます。

悪意あるPHPコードはメールのレンダリング時に実行されるため、管理者が実際に「Payment Transaction Failed Reminder」というメッセージを開かなくても侵害は成立してしまいます。

さらに、メール配信自体が失敗した場合でも攻撃は成立し得るため、不審なメールが届いていないことをもって「ストアは影響を受けていない」と判断すべきではありません。

研究者らは、攻撃者がコード実行権限を取得した後、Rustで書かれた小型のバックグラウンド型インプラントを展開していることを確認しました。初期のサンプルはLinuxのプロセス[kworker/u:8:0]に偽装していましたが、9月6日にリリースされた新しいバージョンでは、正規のシステム活動に紛れ込むために`fc-cache`を使用しています。

この`fc-cache`亜種は、自身を`~/.cache/fontconfig/fc-cache`にコピーし、cronジョブを通じて永続化を確立します。1時間に2回再起動する仕組みになっています。また、自身のプロセスIDを`/tmp/.fc_<8hex>.lock`という一時ロックファイルに書き込みます。

このインプラントは、コマンド&コントロール(C2)通信をNetwork Time Protocol(NTP)の通信に見せかけて偽装します。60秒ごとにドメイン`ntp.timesync.to`を名前解決し、ポート123経由で48バイトのUDPパケットを送信します。

これらのパケットはNTPサーバーの応答を模していますが、その中身のほとんどは分割されたMessagePack形式のデータであり、システムのホスト名、ユーザー名、OSのバージョン、メモリおよびディスクの使用状況、稼働時間、root権限の有無、インプラントのバージョン、パブリックIPアドレスが含まれています。

このマルウェアは、C2サーバーとの通信を開始する前に、`api4.ipify.org`、`ipv4.icanhazip.com`、`ipv4.ident.me`、`ipinfo.io`といったパブリックIP確認サービスに問い合わせを行います。

使用されるUser-Agent文字列は短縮されており、正規のブラウザのものとは一致しません。さらに、このマルウェアは`/proc/self/status`内の`TracerPid`の値を確認し、デバッグが検出された場合は自身をインストールするものの、攻撃者側との通信は行いません。

専用の緩和策製品を導入していないマーチャントは、直ちにMagento GraphQLへのアクセスを制限すべきです。Sansecは、自社の保護機能であるShieldの導入、eComscanによるホストのスキャン、そして不審な永続化やプロセスが確認された場合のMagento認証情報のローテーションを推奨しています。

管理者は、決済失敗リマインダーメールの予期しない急増、不審なcronエントリ、`x_trace_`を含むテンプレートレポートの痕跡、`[kworker/u:8:0]`や`fc-cache`という名前のプロセスがないか調査する必要があります。

侵害指標(IOC)

種別 指標
マルウェアダウンロード元ホスト 247.cdnflare.xyz
マルウェアダウンロード元ホスト 209.141.43.95/files/
C2サーバー 99.84.67.186:443
リモートシェル windwsecurity.run:443
NTP偽装C2 ntp.timesysnc.net:123
NTP偽装C2 time.microsft.run:123
NTP偽装C2 pool.microsft.studio:123
新規構築C2 ntp.timesync.to:123
フォールバックC2 ntp.synctime.to:123
フォールバックC2 ntp.syncstime.to:123
攻撃元 88.216.72.181
SHA-256 e315687a1dfe61ef4a5a5642214db6d3b2b05d81391285eebc2af664641a26a7
SHA-256 b79dfdc1eed860e0b76c629d6adfce251db379b0b45a6d728d4ef483f7551420
SHA-256 4352cabaa451e5a894535fbcc4d46628701303322a13745cb5479d7d0534ae8e
SHA-256 d2fbf9eb75c495bfea48790d3b228fab0c15a282419c3d3f5e49294c4e1a3e82
ファイルパス ~/.cache/fontconfig/fc-cache
ファイルパス ~/.local/share/.gvfsd/gvfsd-user
プロセス [kworker/u:8:0]fc-cache
悪意あるリクエスト POST /graphql?styles[....]=
悪意あるリクエスト POST /paypal/transparent/response/?<?=eval(base64_decode('....

: IPアドレスおよびドメインは、誤って解決されたりハイパーリンク化されたりするのを防ぐため、意図的に無害化表記(例: [.])にしてあります。再有効化はMISP、VirusTotal、SIEMなど管理された脅威インテリジェンスプラットフォーム内でのみ行ってください。

SOCを最新の状態に保ち、出現から24時間以内にアクティブなマルウェアやフィッシングを把握しましょう。 ANYRUNを試して、早期検知でインシデントを未然に防ぎましょう。 

翻訳元: https://gbhackers.com/magento-and-adobe-commerce-stylesmuggler-0-day-rce/

本記事は gbhackers.com の記事を翻訳・要約したものです。