過去24時間以内に、WordPressユーザーに深刻な影響を及ぼすサプライチェーン攻撃が報告されました。人気のプラグインベンダー「ShapedPlugin」の有料版プラグインが標的となり、正規のアップデート経路を通じて悪意のあるコードが注入されたことが確認されています。この攻撃により、サイトの管理者認証情報、データベース資格情報、さらには二要素認証(2FA)のシークレットキーまでが窃取される危険性があり、WordPressサイトの運営者にとって緊急性の高い対応が求められます。
脆弱性の概要と影響範囲
このサプライチェーン攻撃は、ShapedPluginが提供する複数の有料WordPressプラグイン(特にProduct Slider Pro for WooCommerce、Real Testimonials Pro、Smart Post Show Proなど)の正規のビルドおよび配布パイプラインを侵害することで実行されました。攻撃者は、更新プロセスにバックドアコードを注入し、これがユーザーのサイトで「偽のWooCommerceプラグイン」としてインストール・アクティベートされる仕組みです。このマルウェアは、管理者アカウント、データベース、2FA認証情報、`wp-config.php`データ、WooCommerceの注文詳細などを窃取するように設計されています。
CVE-2026-49777は、Product Slider Pro for WooCommerceの「入力における指定された数量の不適切な検証」の脆弱性として識別され、悪意のあるソフトウェアの埋め込みを可能にします。これはCVSSv3スコア10.0の最大深刻度です。 また、CVE-2026-10735は、このインシデント全体に対するCVE識別子として割り当てられています。
具体的な影響・攻撃シナリオ
この攻撃の最も危険な点は、正規のライセンスを購入し、ベンダーの公式アップデートシステムからアップデートをインストールしたサイト運営者までがマルウェアにさらされたことです。インストールされたマルウェアは、`wp_support_sys`という隠れた管理者アカウントを作成し、攻撃者に永続的な特権アクセスを付与します。さらに、データベース認証情報(DB_NAME, DB_USER, DB_PASSWORD, DB_HOST)および`wp-config.php`のソルトをコマンド&コントロール(C2)サーバー(例: `cdn-stats-api.com`または`194.76.217.28:2871`)に送信します。 これにより、攻撃者はサイトを完全に掌握し、機密情報の窃取、改ざん、さらにはSEOスパムの注入など、広範な被害を引き起こす可能性があります。
エンジニアが今すぐ取るべき対策
影響を受けるサイトのエンジニアおよび管理者は、直ちに対策を講じる必要があります。
1. **プラグインの更新:** Product Slider Pro for WooCommerceをバージョン3.5.4以降、Real Testimonials Proを3.2.6以降、Smart Post Show Proを4.0.2以降に更新してください。ただし、一部の修正が同じバージョン番号でリリースされているため、ベンダーの指示に従い、クリーンなビルドであることを確認することが重要です。
2. **認証情報の再設定:** 全てのWordPressユーザーのパスワードをリセットし、2FAシークレットを無効化して再生成してください。
3. **管理者アカウントの確認:** 不正に追加された管理者アカウント(例: `wp_support_sys`)がないかWordPressダッシュボードを確認し、発見した場合は削除してください。
4. **ファイル完全性の監査:** 既知の良好なバックアップと比較して、サイト全体のファイル完全性監査を実施し、マルウェアの痕跡がないか確認してください。
5. **WAF/ファイアウォールによるブロック:** 既知の悪意あるC2サーバーIPへのアウトバウンド接続をブロックするよう、Web Application Firewall (WAF) またはサーバーのファイアウォールを設定することを強く推奨します。
```nginx
# 既知のマルウェアC2サーバーへのアウトバウンド接続をブロックするNginx設定例
# この設定は、プロキシ設定などでアウトバウンドリクエストが発生する場合に有効です。
# 実際の環境に応じて調整してください。
# 例: shapedpluginマルウェアのC2サーバーIPをブロック
# 194.76.217.28 は報告されたIPの一例であり、他にも存在する可能性があります。
# 常に最新のIoC (Indicators of Compromise) に基づいてリストを更新してください。
location / {
# マルウェアC2サーバーへの接続を拒否
if ($remote_addr = "194.76.217.28") {
return 403;
}
# あるいは、特定のURIパターンへのアクセスをブロック(攻撃の状況による)
# if ($request_uri ~* "/wp-admin/admin-ajax.php\?action=malicious_payload") {
# return 403;
# }
# その他の通常の処理
try_files $uri $uri/ /index.php?$args;
}
# WordPressのwp-config.phpやwp-load.phpなど、
# 機密ファイルへの不審な直接アクセスを制限する(一般的なベストプラクティス)
location ~* /(wp-config\.php|wp-load\.php|license\.txt|readme\.html|changelog\.txt) {
deny all;
}
# .phpファイルへの直接アクセスを制限し、Wordpressのフロントコントローラーを強制
location ~* \.php$ {
# FastCGI設定など、実際のPHP処理設定をここに記述
include fastcgi_params;
fastcgi_pass unix:/run/php/php8.2-fpm.sock; # 環境に合わせて変更
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_intercept_errors on;
# 特定のディレクトリからの実行のみ許可するなどの強化も検討
# if ($request_uri !~ "^/(wp-admin|wp-content/plugins/.*\.php|wp-includes/.*\.php)") {
# return 403;
# }
}
```