1 ポイント 投稿者 GN⁺ 2025-03-24 | 1件のコメント | WhatsAppで共有
  • CVE-2025-29927

  • セキュリティ脆弱性(CVE-2025-29927)を修正するため、Next.js バージョン 15.2.3 がリリースされた。next startoutput: 'standalone' を使用する、すべてのセルフホスト型 Next.js デプロイメントは直ちに更新することが推奨される。

  • タイムライン

    • 2025-02-27T06:03Z: GitHub の非公開脆弱性報告を通じて Next.js チームに開示
    • 2025-03-14T17:13Z: Next.js チームが報告書のレビューを開始
    • 2025-03-14T19:08Z: Next.js 15.x 向けパッチを配布
    • 2025-03-14T19:26Z: Next.js 14.x 向けパッチを配布
    • 2025-03-17T22:44Z: Next.js 14.2.25 リリース
    • 2025-03-18T00:23Z: Next.js 15.2.3 リリース
    • 2025-03-18T18:03Z: GitHub で CVE-2025-29927 を公開
    • 2025-03-21T10:17Z: セキュリティ勧告を発表
    • 2025-03-22T21:21Z: Next.js 13.5.9 リリース
    • 2025-03-23T06:44Z: Next.js 12.3.5 リリース
  • 脆弱性の詳細

    • Next.js は無限ループを防ぐため、内部ヘッダー x-middleware-subrequest を使用している。セキュリティ報告によると、ミドルウェアの実行をスキップして重要な検査を回避できる可能性がある。
  • 影響範囲

    • 影響を受ける場合

      • ミドルウェアを使用するセルフホスト型 Next.js アプリケーション(next startoutput: 'standalone'
      • 認証またはセキュリティ検査のためにミドルウェアに依存している場合
      • Cloudflare を使用するアプリケーションはマネージド WAF ルールを有効化できる
    • 影響を受けない場合

      • Vercel でホストされているアプリケーション
      • Netlify でホストされているアプリケーション
      • 静的エクスポートでデプロイされたアプリケーション(ミドルウェアは実行されない)
  • パッチ適用済みバージョン

    • Next.js 15.x: 15.2.3 で修正
    • Next.js 14.x: 14.2.25 で修正
    • Next.js 13.x: 13.5.9 で修正
    • Next.js 12.x: 12.3.5 で修正
    • 安全なバージョンへパッチ適用できない場合は、外部ユーザーからのリクエストに x-middleware-subrequest ヘッダーが含まれないよう防ぐことが推奨される
  • 私たちのセキュリティ責任

    • Next.js は 2016 年以降、16 件のセキュリティ勧告を公開している。GitHub セキュリティ勧告と CVE は、ソフトウェアの脆弱性をユーザー、ベンダー、企業に知らせる業界標準である。パートナーとのコミュニケーション不足を補うため、パートナー向けメーリングリストを開設した。partners@nextjs.org に連絡することで参加できる。

1件のコメント

 
GN⁺ 2025-03-24
Hacker Newsの意見
  • Nextのミドルウェアシステムには問題が多く、最初から作り直したほうがよさそう

    • 複数のミドルウェアをチェーン接続する公式な方法がない
    • 主要な関数が静的メンバーになっており、サードパーティ製ミドルウェアの利用時に問題が発生しうる
    • ミドルウェアとルートハンドラー間の通信手段が不足している
    • ヘッダー経由でデータを渡す方法は安全ではない
    • 自動キャッシュを諦めなければならない問題もある
    • リクエストの実際のホスト名を取得しにくい
  • ミドルウェアシステムのセキュリティ問題に関する別の記事を発見

    • ヘッダー経由の通信方式がユーザー入力の検証と分離されている
    • ユーザーからのすべてのヘッダーを許可するのは危険な可能性がある
    • サーバーデザインの問題を解決するためのフレームワーク側の支援が必要
  • Next.jsのセキュリティ脆弱性に関する情報

    • 特定のヘッダーを追加すると、サーバーが誤った応答を返す可能性のある脆弱性があった
    • この脆弱性にはCVEがなく、どのバージョンが影響を受けるのか明確でない
    • Next.jsのサポートポリシーに従い、特定バージョンにのみパッチが提供される
  • Next.jsのセキュリティ問題への対応遅延に対する懸念

    • 報告後、2週間以上たってからようやく修正対応が始まった
    • 問題の深刻さが適切に伝わっていなかった可能性がある
  • Next.jsの複雑さに対する批判

    • Reactは多くの価値を提供したが、Nextは複雑さを増やすだけだ
    • ファイルベースルーティングとサーバーサイドレンダリングは特定の状況でしか有用ではない
  • セキュリティ脆弱性の簡単な悪用可能性

    • 特定のヘッダーを追加するだけで認証を回避できる問題
  • Next.jsの内部ヘッダー利用の問題

    • 再帰的なリクエストを防ぐための内部ヘッダーがある
    • このヘッダーにより重要な検証を回避できる可能性がある
  • Next.jsのセルフホスティング選択に対する不安感

    • HNのコメントを読むほど、その選択への不安が大きくなる
  • セキュリティ問題への対応遅延に対する懸念

    • 13日間も問題解決が遅れたのは大きな問題だ