Next.js の DoS 脆弱性 CVE-2024-56332 が FIX:Server Actions に悪用の恐れ

Next.js Patches Denial-of-Service Vulnerability (CVE-2024-56332) in Server Actions

2025/01/03 SecurityOnline — 人気の React フレームワーク Next.js が公表したのは、Server Actions を用いるアプリケーションに対して、サービス拒否 (DoS) 攻撃が仕掛けられる可能性がある、セキュリティ脆弱性への対処である。この脆弱性 CVE-2024-56332 は、PackDraw チームにより検出/公開されたものだ。

パフォーマンスとフレンドリーな機能で開発者に好まれる Next.js は、各種の高トラフィック Web サイトやアプリケーションで活用されている。その Next.js では、新しい部類に入る Server Actions は、サーバ側でのデータの取得/変更を実現し、アプリケーションのパフォーマンスとセキュリティを強化するものだ。しかし、新たに発見された脆弱性を悪用する攻撃者により、Server Actions サービスの可用性に問題が生じるとされる。

脆弱性の仕組み

Next.js のセキュリティ・アドバイザリには、「この脆弱性を悪用してサービス拒否 (DoS) を仕掛ける攻撃者は、Server Actions をハングさせるリクエストの作成が可能とあり、ホスティング・プロバイダーによる機能のキャンセルを強制できる」と記されている。

具体的に言うと、攻撃者が作成するリクエストにより、Server Actions が無期限に実行され続け、サーバ・リソースが枯渇し、正当なユーザーによるアプリケーションへのアクセスが停止されてしまう。この攻撃中において、Next.js サーバ自体はアイドル状態を維持するが、悪意の接続によりサーバが圧倒され、サービス拒否につながる可能性が生じる。

影響と緩和策

脆弱性 CVE-2024-56332 は、Server Actions を使用する Next.js デプロイメントに影響を与えるものであるが、機能に対する保護がなく、長時間にわたり実行されるデプロイメントが脆弱になる。Vercel や Netlify などのホスティング・プロバイダーは、このようなリスクを軽減するためのデフォルトの保護手段を備えているが、他のプラットフォームでのデプロイメントにおいては問題が生じやすくなる。

すでに Next.js チームは、パッチを適用したバージョンをリリースし、この脆弱性に対処している。ユーザーに対して強く推奨されるのは、最新バージョンである Next.js 13 (v13.5.8)/Next.js 14 (v14.2.21)/Next.js 15 (v15.1.2) へとアップグレードし、アプリケーションを保護することである。

回避策は無い

Next.js のセキュリティ・アドバイザリには、「この脆弱性に対する公式の回避策は存在しない」と明記されている。したがって、パッチを適用した上記のバージョンへと、アップグレードすることが不可欠となる。