何が起こったのか
2025 年 12 月 5 日、協定世界時午前 8 時 56 分頃、インターネットの大部分が動作を停止しました。数百万の Web サイトのバックボーンである Cloudflare が重大な停止に見舞われ、世界中のすべての HTTP トラフィックのほぼ 28% に影響を及ぼしました。
ソーシャルメディア上の最初の噂は大規模な分散型サービス妨害 (DDoS) 攻撃を示唆していましたが、現実ははるかに技術的で懸念すべきものでした。この機能停止は、Cloudflare 自身がセキュリティ上の欠陥を修正しようとしたことが原因でした。同社は、新たに公開された「React2Shell」脆弱性(CVE-2025-55182)に対する軽減パッチを導入しましたが、修正自体にはネットワーク全体で連鎖的な障害を引き起こす障害が含まれていました。
サービスは午前 9 時 12 分(協定世界時)までにほぼ復旧しましたが、その 16 分間、インターネットは事実上息を止めていました。
主要な詳細
- 原因: CVE-2025-55182 (React2Shell) を軽減するためにデプロイされた不完全な構成変更。
- 影響: 世界の HTTP トラフィックの推定 20 ~ 28% が中断されました。
- 影響を受けるサービス: DoorDash、Crunchyroll、Cash App などの主要なプラットフォームがオフラインになるか、重大なエラーが発生しました。
- 脆弱性: React2Shell は、React/Next.js エコシステムに影響を与える重大な非認証リモート コード実行 (RCE) の欠陥であり、わずか 2 日前に公開されました。
なぜそれが重要なのか
この事件は、現代のウェブの極度の脆弱性を浮き彫りにしました。 Cloudflare のような単一のプロバイダーがくしゃみをすると、インターネット全体が風邪を引きます。
セキュリティのジレンマ
Cloudflareは、ネットワークを「React2Shell」の脆弱性(攻撃がすでに活発に悪用していた)にさらしたままにしておくか、迅速な修正を導入するかという不可能な立場にあった。彼らは後者を選択しましたが、展開の速度が原因で壊滅的な「悪いパッチ」シナリオが発生しました。これは、ゼロデイ パッチ管理という一か八かのポーカー ゲームを強調しています。
サイト所有者向け
1 つの CDN プロバイダーまたはセキュリティ プロバイダーのみに依存している場合、稼働時間はそのプロバイダーのなすがままになります。 Cloudflare は一般的に非常に信頼性が高いですが、今日のイベントは、ミッションクリティカルなアプリケーションにとって冗長性が鍵であることを思い出させるものです。
バックストーリー
「React2Shell」脆弱性 (CVE-2025-55182) は、2025 年 12 月 3 日に公開されました。この脆弱性は、Next.js などの広く使用されているフレームワークを含む、React JavaScript ライブラリ エコシステムに影響を与えます。認証なしでリモートでコードが実行される可能性があるため、「重大度 10」の脅威とみなされます。ランサムウェア グループを含む脅威アクターは、ほぼ即座にこの欠陥のスキャンと悪用を開始し、Cloudflare のようなインフラストラクチャ プロバイダーは顧客を守るために時間との競争を余儀なくされました。
技術的な内訳: パッチが失敗した経緯
この脆弱性は、特定のシェル実行ライブラリを使用して特別に構成されている場合に、React がユーザー提供の入力のサーバー側レンダリング (SSR) を処理する方法に起因します。
- エクスプロイト: 攻撃者は、base64 でエンコードされたペイロードを含む特別に作成された HTTP ヘッダーを送信します。サーバーが React 環境で脆弱なログ パッケージを使用してこのヘッダーをログに記録すると、ペイロードが実行されます。
- 修正 (予定): Cloudflare エンジニアは、受信リクエストが顧客のサーバーに到達する前に、この特定のヘッダー パターンを受信リクエストから除去するグローバル WAF (Web アプリケーション ファイアウォール) ルールを作成しました。
- 失敗: WAF ルールで使用されている正規表現 (regex) は「壊滅的」でした。バックトラッキングループが含まれていました。長いヘッダーを持つ正規のトラフィックを処理する場合、正規表現エンジンは Cloudflare のエッジノード上の CPU を 100% 消費しました。
- カスケード: ノードの CPU 使用率が 100% に達すると、ヘルス チェックに応答しなくなります。ロード バランサーはトラフィックを隣接ノードにルーティングし、そのノードでも CPU が 100% に達しました。数分以内に、コントロール プレーン全体が飽和状態になりました。
これは、「安全な展開」における古典的な教訓となります。セキュリティ修正であってもコードであり、ネットワークのエッジにあるテストされていないコードは装填された銃です。
専門家の反応
セキュリティ アナリストは、この停止は苦痛を伴うものだったものの、代わりに React2Shell の脆弱性を大量に悪用すればもっと悪かった可能性があると指摘しました。 SecurityWeek のレポートは、「今回の事件は、大規模なクラウド インフラストラクチャにおける急速な緩和のリスクを浮き彫りにした」と指摘し、「同時に、広く使用されているソフトウェア ライブラリで新たに明らかになった重大な脆弱性によってもたらされる継続的な脅威も示しています。」と述べています。
次は何ですか
Cloudflareはすでに問題のある特定の構成をロールバックし、検証済みの修正に置き換えています。
タイムライン:
- 即時: サービスは復旧しました。
- 短期: Cloudflare エンジニアリングによる詳細な「事後」ブログ投稿で、構成変更がどのようにカナリア テスト保護をバイパスしたかを正確に説明する予定です。
- 長期: React のようなユビキタスなソフトウェアの欠陥に対するグローバルな緩和策を安全に展開する方法についての業界での新たな議論。
より広い文脈: 複雑さの脆弱性
この事件は孤立したものではありません。 「速く動いて物事を壊す」という競争の中で、Web スタック全体がますます脆弱になってきています。 React は強力ですが、サーバー上で実際にどのようなコードが実行されているかを曖昧にする抽象化レイヤーを導入しています。複雑なフレームワークを自動化されたセキュリティ軽減策および分散エッジ ネットワークと組み合わせると、「バタフライ効果」が一般的なシステムが作成されます。 WAF ルール内の 1 つの正規表現文字により、何百万ものユーザーのインターネットが効果的にオフになる可能性があります。
この展開を見守る CIO と CTO は、おそらく今日、チームに次の 2 つの質問をするでしょう。
- 「インフラストラクチャは React2Shell に対して脆弱ですか?」
- 「CDN がダウンした場合、フェイルオーバー計画はありますか?」
多くの人にとって、2 番目の質問に答えられないことが本当の危機です。
結論
今日のインターネット停電はハッカーによる攻撃ではなく、救助活動中に自ら負った傷だった。 Cloudflare は、「React2Shell」エクスプロイトから Web を保護しようとしましたが、誤ってシールドを破ってしまいました。これは、デジタル インフラストラクチャがいかに集中化されているか、そして重大なセキュリティの脅威に直面して速度と安定性のバランスをとることがいかに難しいかをはっきりと思い出させます。
出典 (3)
- tomsguide.com Tom's Guide Live Coverage
- theregister.com React2Shell Exploitation
- securityweek.com Cloudflare Outage Cause
🦋 Bluesky での議論
Bluesky で議論する