【緊急】Laravel Livewireに致命的RCE、イラン国家ハッカーが悪用中
CVSS 9.8のLaravel Livewire脆弱性(CVE-2025-54068)をイラン国家支援ハッカーMuddyWaterが悪用中。認証不要でサーバーを完全制御される。CISA修正期限は4月3日。影響範囲と対処法を解説
ニュース
kkm
Backend Engineer / AWS / Django
CVSS 9.8のLaravel Livewire脆弱性(CVE-2025-54068)をイラン国家支援ハッカーMuddyWaterが悪用中。認証不要でサーバーを完全制御される。CISA修正期限は4月3日。影響範囲と対処法を解説
2025年7月に修正されたはずの脆弱性が、8ヶ月後の今、イランの国家ハッカーに使われています。 CVE-2025-54068。 CVSS 9.8。認証不要。サーバーを完全に乗っ取れます。
対象はLaravel Livewire v3。 Packagistのダウンロード数は7,500万件を超え、公開インスタンスは13万件以上。 もしあなたのLaravelアプリがLivewire v3を使っているなら、この記事を読んでからcomposerを開いてください。
Laravel Livewireに何が起きたのか
2025年7月17日、フランスのセキュリティ企業 Synacktiv がLaravel Livewire v3に致命的な脆弱性を発見しました。
| 項目 | 内容 |
|---|---|
| CVE番号 | CVE-2025-54068 |
| CVSS | 9.8 / 10.0(Critical) |
| 種別 | リモートコード実行(RCE) |
| 認証 | 不要(誰でも攻撃可能) |
| 影響バージョン | v3.0.0-beta.1 〜 v3.6.3 (v1/v2は影響なし) |
| 修正バージョン | v3.6.4(2025年7月リリース済み) |
| CISA修正期限 | 2026年4月3日 |
問題は「修正された」タイミングです。パッチが出たのは2025年7月。 CISAがKEVカタログに追加したのは2026年3月20日。 この8ヶ月の空白期間に、イランの国家支援ハッカーグループ「MuddyWater」が悪用を始めました。
この脆弱性はどう動くのか
Livewire v3はブラウザとサーバー間でコンポーネントの状態を同期する「ハイドレーション」という仕組みを持っています。 ユーザーがボタンをクリックするたびに、コンポーネントの状態がJSONとしてサーバーに送られ、処理されて返ってくる。 この往復のたびに動く「シンセサイザー」というPHPオブジェクトの検証に穴がありました。
攻撃は2段階で成立します。
まず、Livewireのリクエストには updates というフィールドがあります。 通常、サーバーはリクエスト全体のチェックサムを検証しますが、updates の中にネストされた配列に「隠れたシンセサイザーのメタデータ」を埋め込むと、再帰的な処理の深いレベルでシンセサイザーが再定義・実行されます。 チェックサムはトップレベルしか見ていないため、ネストされた中身はすり抜けます。
次に、すり抜けたシンセサイザーが CollectionSynth を通じて任意のPHPクラスをインスタンス化します。 ここから GuzzleHttp\Psr7\FnStream の __toString() メソッドと League\Flysystem の array_map を組み合わせた「ガジェットチェーン」が起動し、最終的にサーバー上で任意のコマンドが実行されます。
厄介なのは、通常の攻撃はHTTP 500エラーを出して検知されますが、Synacktivの研究者は Laravel\Prompts\Terminal::exit() でクリーンに終了するエラー隠蔽手法も確認しています。 ログに痕跡が残らない攻撃が可能です。
Filamentのログイン画面が特に危ない理由
FilamentはLaravelの管理パネルフレームワークで、Livewireの上に構築されています。 問題は、Filamentのログインパネルが public $form という「弱い型付け」のプロパティを持っていることです。
このプロパティは型が指定されていないため、攻撃者が送り込んだ任意のオブジェクトを受け入れてしまいます。 つまり、ログイン画面にアクセスするだけで攻撃が成立します。 認証の前に、認証画面そのものが突破口になるという構造です。
Filamentは管理パネルとして広く使われており、Packagistのダウンロード数から推定すると約1,800万のインストールが影響を受ける可能性があります。
MuddyWaterとは何者なのか
MuddyWater(別名: Seedworm、Mango Sandstorm)は、 イラン情報安全保障省(MOIS)の下部組織 とされる国家支援のハッカーグループです。 2017年から活動しており、中東・アジア・欧州・北米の政府機関、通信、防衛、エネルギー、金融セクターを標的にしてきました。
2026年の活動は2月初旬から始まっていましたが、2月28日の米・イスラエルによるイラン軍事攻撃を境に大幅に活性化しました。 確認された標的には米国の銀行、空港、ソフトウェア企業のイスラエル拠点が含まれます。
新型マルウェアも確認されています。 「Dindoor」というDenoランタイム上で動くバックドアと、Python製の「Fakeset」。 署名にはAmy CherneやDonald Gayという偽名の証明書が使われ、データの窃取先にはBackblaze B2クラウドストレージが利用されています。
CISAは KEVカタログへの追加文書 で、CVE-2025-54068を「MuddyWaterによる攻撃に関連」と明記しています。
なぜ8ヶ月もパッチが当たらなかったのか
修正版v3.6.4は2025年7月にリリースされています。 それから8ヶ月後の2026年3月に、まだ多くのインスタンスが脆弱な状態のままだった。 これは「パッチが出なかった」問題ではなく、「パッチが当たらなかった」問題です。
PHPエコシステム、特にLaravelのプロジェクトでは composer update を頻繁に実行しない運用が珍しくありません。 「動いているものは触らない」という文化があり、セキュリティパッチであっても、アップデートによる互換性の問題を恐れて放置されがちです。
加えて、この脆弱性はCVSSスコア9.8にもかかわらず、2025年7月の公開時には大きなニュースになりませんでした。 CISAがKEVに追加して初めて「これは今すぐ対処が必要だ」という認識が広がった形です。 PoCスキャナーがGitHubに公開されている以上、攻撃のハードルは極めて低い状態です。
自分のアプリは影響を受けるのか
以下の条件がすべて当てはまる場合、影響を受けます。
影響を受ける条件
- 1. Livewire v3.0.0-beta.1 〜 v3.6.3 を使っている
- 2. サーバーがインターネットに公開されている
- 3. Livewireコンポーネントがマウントされて動作している
「Livewireは直接使っていない」という場合でも、Filament、Laravel Pulse、その他Livewire依存パッケージを間接的に使っている可能性があります。 依存パッケージ数は1,983件にのぼります。
確認方法はシンプルです。
# バージョン確認
composer show livewire/livewire
# 脆弱性スキャン
composer auditcomposer show の出力が v3.6.3 以下なら影響を受けます。v1.x や v2.x は対象外です。
今すぐやるべきこと
修正は composer update livewire/livewire の1コマンドです。 ワークアラウンドはありません。アップグレード以外の緩和策は存在しないため、バージョンを上げるしかありません。
# 修正バージョンへの更新
composer update livewire/livewire
# 更新後の確認(v3.6.4以上であること)
composer show livewire/livewire
# 他の脆弱性も含めた全体スキャン
composer auditアップデート後は、Filamentやその他Livewire依存パッケージのバージョンも確認してください。 Filamentを使っている場合は composer update filament/filament も実行し、Livewire v3.6.4以上を参照していることを確認します。
なお、APP_KEYが漏洩している環境では別の攻撃経路(亜種)が存在し、こちらはv3.6.4でも修正されていません。 LivewireはAPP_KEY漏洩を「アプリケーション側のセキュリティ境界」としてスコープ外としています。APP_KEYの管理にも注意が必要です。
今後どうなるのか
CISA修正期限は2026年4月3日です。 これは連邦民間行政機関(FCEB機関)に対する法的拘束力のある期限ですが、民間企業にとっても事実上の修正圧力になります。 「CISAが名指しした脆弱性を放置している」状態は、インシデント発生時に説明が困難です。
PoCスキャナーがGitHubに公開されている以上、MuddyWater以外の攻撃者も使い始めるのは時間の問題です。 修正パッチは8ヶ月前から存在します。あとは当てるだけです。
参照元
- • Synacktiv: Livewire Remote Command Execution Through Unmarshaling
- • NVD: CVE-2025-54068
- • GitHub Advisory: GHSA-29cq-5w36-x7w3
- • MITRE ATT&CK;: MuddyWater (G0069)
- • The Hacker News: Iran-Linked MuddyWater Hackers Target US
- • Security Affairs: CISA Adds Laravel Livewire to KEV
- • Security Online: Critical Livewire RCE Threatens Millions
- • Laravel News: Livewire Security Vulnerability
- • Packagist: livewire/livewire
- • BuiltWith: Laravel Livewire Usage Statistics