2025年3月24日
2025年3月中旬に公表され、Next.js開発元のVercelにより速やかに修正が行われていま。
GitHubのセキュリティアドバイザリによれば、本件はセキュリティ研究者cold-try氏およびAllam Rachid, Allam Yasser各氏によって報告されたもの。
脆弱性の報告後、わずか数日で修正版がリリースされており、Next.jsチームの迅速な対応が見られます。現時点で本脆弱性を悪用した大規模な攻撃の報告はありませんが、技術的詳細が公開されていることから、潜在的なリスクは非常に高いといえます。
公式サイトの情報は必ずキャッチアップしてください。
https://nextjs.org/blog/cve-2025-29927
Next.jsを利用する全てのwebアプリケーション のうち、以下のバージョンが本脆弱性の影響を受けます
Next.js 15.x 系: 15.2.2 以前 (修正は 15.2.3 にて提供) Next.js 14.x 系: 14.2.24 以前 (修正は 14.2.25 にて提供) Next.js 13.x 系: 13.5.8 以前 (修正は 13.5.9 にて提供) Next.js 12.x 系: 12.3.4 以前 (修正は 12.3.5 にて提供) Next.js 11 系: 全バージョン (公式パッチが提供されないため、後述の回避策適用が必要)Next.js開発チームは、本脆弱性に対して ソースコードレベルでの修正パッチ をリリース。
修正は2025年3月17~23日付で行われ、Next.js 15.2.3, 14.2.25, 13.5.9 および 12.3.5 に組み込み済み。
修正内容の要点は、外部から送信されたx-middleware-subrequestヘッダーを無効化すること。
具体的には、Next.js内部で 「サブリクエストID (x-middleware-subrequest-id)」 と呼ばれるランダムな識別子を導入し、正規のミドルウェア内部処理ではそのIDを付加するように変更。
そして、受け取ったリクエストのヘッダー中にx-middleware-subrequestが存在する場合は、この識別子と照合します。識別子が一致しない (=外部から恣意的に付与されたヘッダーだと判定できる) 場合、当該x-middleware-subrequestヘッダーを削除して以降の処理を行うように。
これにより、攻撃者が偽のヘッダーを注入してもNext.jsが内部リクエストと誤認することはなくなり、ミドルウェアによる認可チェックが確実に実行されるようになります。
今回、JVNでは少し発信が遅くなっていまっているので、その場合は大元のサイトを確認し、自サイトの現状に該当しないかどうかは、全てのサイト、CMSや各種開発言語のリリースページを確認するようクセをつけてください。
Webサイトリニューアルから新規ホームページ制作・運営・保守まで、目的達成を実現いたします。
各種Webサイト・ECサイト制作、広告代行に関するご相談、ご質問などお気軽にお問合せ下さい。
Tel : 03-5324-2318 / Email : info@reinc.jp