すべての記事

React サーバー コンポーネントと Next.js の DoS 脆弱性分析 (2026)

technologyJanuary 29, 2026·#Technology

React と Next.js で一連の深刻な DoS 脆弱性が発見され、数百万の Web アプリケーションの安定性が脅かされています。この記事では、技術的なメカニズムと徹底的な解決策を分析します。

React サーバー コンポーネントと Next.js の DoS 脆弱性分析 (2026)

Web 開発業界のサーバーおよびクライアント処理のハイブリッド モデルへの移行は、React Server Components (RSC) の導入によりピークに達しました。しかし、この革命は前例のない安全保障上の課題ももたらします。 2025 年 12 月から 2026 年 1 月にかけて、React 19 および Next.js 15/16 を使用するアプリケーションの基盤を揺るがす重大な脆弱性が相次いで発見されました。 「React2Shell」のリモートコード実行(RCE)の脆弱性(CVE-2025-55182)を皮切りに、その後の詳細な調査により、データ転送プロトコルとシステム最適化機能の奥深くにある一連のサービス拒否(DoS)の弱点が明らかになり続けています。このレポートでは、GHSA-83fc-fqcc-2hmg、CVE-2025-59471、CVE-2025-59472 などの最新の DoS 脆弱性について詳しく説明します。

1. RSC 時代のセキュリティ脅威の進化

緊急性を理解するには、「React2Shell」イベント (CVE-2025-55182) の歴史的背景を考慮する必要があります。 2025 年後半、セキュリティ コミュニティは React の「Flight」プロトコルに安全でない逆シリアル化のバグを特定し、CVSS スコア 10.0 の RCE を許可しました。パッチは導入されましたが、RCE 修復作業により他の欠陥のある処理ロジックが意図せず露呈し、攻撃者が悪意のあるコードを実行せずにサーバーをクラッシュさせたり、リソースを枯渇させたりするシナリオが発生しました。

最近の DoS 脆弱性は、React のデータ処理ロジックと Node.js 環境の間の複雑な相互作用の結果です。アプリケーションがサーバー側レンダリングのためにユーザーから複雑なデータ構造を受け入れると、リソース管理のリスクに直面します。

主要な DoS 脆弱性のリスト (2026 年 1 月 26 日更新):

  • GHSA-83fc-fqcc-2hmg: react-server-dom-* パッケージに影響します。攻撃者が特別に細工した HTTP リクエストをサーバー関数エンドポイントに送信し、サーバーのクラッシュまたはメモリ オーバーフローを引き起こします。

  • CVE-2025-59471: Next.js Image Optimizer の脆弱性。 remotePatterns が有効になっている場合に発生し、リモート イメージが大きすぎて OOM (メモリ不足) が原因でサーバーがクラッシュする可能性があります。

  • CVE-2025-59472: Next.js PPR (最小モード) の脆弱性。再開エンドポイントに影響し、Zipbomb 攻撃や無制限のバッファリングが可能になります。

  • CVE-2025-55184: RSC での Promise 参照の回転が原因でイベント ループがクラッシュします。

2. GHSA-83fc-fqcc-2hmg 脆弱性の技術的メカニズム

2026 年 1 月 26 日のアップデートの焦点は GHSA-83fc-fqcc-2hmg です。研究者は、以前の DoS パッチ (CVE-2025-55184 など) に欠陥があることを発見しました。問題は、react-server-dom-webpackreact-server-dom-parcel、および react-server-dom-turbopack パッケージにあります。

デシリアライズと無限ループ

React の Flight プロトコルはデータをチャンクに分割します。各ブロックは別のブロックを参照できます。この脆弱性は、デコード メカニズムが循環参照に遭遇すると発生します。攻撃者は、ネストされた Promise 参照を含む HTTP リクエストを作成する可能性があります。サーバーがこれらの Promise を解決しようとすると、無限ループに陥り、Node.js の唯一のイベント ストリームがクラッシュし、完全なサービス拒否につながります。

この脆弱性の CVSS スコアは 7.5 であり、認証なしでリモート悪用が可能です。開発者がサーバー関数を定義していない場合でも、デフォルトの RSC サポートにより、フレームワーク (Next.js App Router など) が影響を受ける可能性があります。

3. Next.js 画像オプティマイザーの脆弱性 (CVE-2025-59471)

この脆弱性は、remotePatterns 経由で外部画像最適化を使用するセルフホスト型 Next.js アプリケーションに影響します。

  • メカニズム: エンドポイント /_next/image は、最大ファイル サイズ制限。

  • 悪用: 攻撃者は、承認されたドメインからの非常に大きな画像の最適化を要求します。 Node.js がこの巨大なデータを読み込むと、すぐに JavaScript ヒープ制限を超え、プロセスがクラッシュします。

影響を受けるバージョン: Next.js >=10 ~ <15.5.10 および >=16 ~ <16.1.5。 Vercel 上のアプリケーションは、インフラストラクチャ保護メカニズムにより影響を受けません。

4. Next.js PPR とミニマル モードの脆弱性 (CVE-2025-59472)

CVE-2025-59472 は、実験的な部分プリレンダリング (PPR) と「最小モード」(NEXT_PRIVATE_MINIMAL_MODE=1) に関係します。

  • 無制限のバッファリング: サーバーは Buffer.concat() を使用して、サイズをチェックせずにリクエスト本文をメモリに含めます。サイズ。

  • Zipbomb 攻撃: 圧縮されたデータは、出力を制限せずに inflateSync() を使用して解凍されます。小さな圧縮されたペイロードはメモリ内でギガバイトにまで拡張され、プロキシ レイヤーでのチェック制限を超える可能性があります。

その結果、エラー 致命的なエラー: ヒープ制限に達しました 割り当てに失敗しました - JavaScript ヒープがメモリ不足です が発生し、Node.js プロセスがただちに終了します。

5.非同期フックと APM の影響

Tan Phat Digital が指摘した技術的な詳細の 1 つは、Node.js における async_hooks の役割です。 React と Next.js は、AsyncLocalStorage を使用してリクエスト コンテキストを追跡します。 Datadog や OpenTelemetry などの監視 (APM) ツールを使用する場合、async_hooks は常に有効になります。この環境では、RSC によるスタック オーバーフロー エラーにより、Node.js がエラー コード 500 を返すだけでなく、エラー コード 7 で完全に終了し、DoS 攻撃がより深刻になります。

6.軽減策とアップグレード戦略

完全な解決には、ソフトウェア アップデートとインフラストラクチャ構成の変更が必要です。

バージョン アップデート (最優先)

組織はロックファイルを確認し、2026 年 1 月 26 日にリリースされた安全なバージョンにアップグレードする必要があります:

  • React 19.0.x: バージョン 19.0.0 からのアップデート - 19.0.3 からバージョン 19.0.4 へ。

  • React 19.1.x: バージョン 19.1.0 ~ 19.1.4 からバージョン 19.1.5 へアップデート。

  • React 19.2.x: バージョンからアップデート19.2.0 - 19.2.3 からバージョン 19.2.4 へ。

  • Next.js 15.x: 15.5.10 より前のバージョンからバージョン 15.5.10 にアップグレードします。

  • Next.js 16.x: からアップグレードします。 16.1.5 より前のバージョンからバージョン 16.1.5 まで。

一時的な保護措置

  1. インフラストラクチャ: プロキシ (Nginx/Apache) で client_max_body_size を設定し、無制限にならないようにします。

  2. 設定: Image Optimizer の remotePatterns で信頼できないドメインを制限または削除します。

  3. 無効: PPR 機能 (experimental.ppr: false) を無効にするか、絶対にそうでない場合は最小モードを無効にします。

  4. WAF: ファイアウォール ルール (vWAF など) を更新して、異常な RSC ペイロードまたは Next-Resume: 1 ヘッダーを持つ POST リクエストを検出してブロックします。

これらの脆弱性が継続的に出現することは、RSC の成熟度が困難であることを示しています。 Tan Phat Digital は、企業がますます高度化する DoS 攻撃シナリオに対するサービスの可用性を確保するために、システムを直ちに見直してアップグレードすることを推奨しています。

シェア

コメント

0.0 / 5(0 件の評価)

コメントするにはログインしてください。

まだコメントはありません。最初のコメントを投稿しましょう。