CVE-2026-29057
Next.js: リライトにおけるHTTPリクエストスマグリング
- 公開済み
- 2026/03/18
- 更新済み
- 2026/03/18
- CNA の割り当て
- GitHub_M
- 観察された証拠
- 2026/08/17
プライマリ CVSS
nvd · CVSS 4.0
CVSS:4.0/AV:N/AC:L/AT:P/PR:N/UI:N/VC:L/VI:L/VA:N/SC:N/SI:N/SA:N/E:X/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X低 · 今後 30 日間
- パーセンタイル
- 36.5%
- モデルの日付
- 2026/09/21
EPSS は統計的な推定値であり、確実性や影響の尺度ではありません。 CVSS、KEV ステータス、暴露、環境と組み合わせます。
概要
Next.jsは、フルスタックのWebアプリケーションを構築するためのReactフレームワークです。バージョン9.5.0以降、15.5.13および16.1.7より前のバージョンにおいて、Next.jsがリライトされたプロキシトラフィックを外部バックエンドに転送する際、`Transfer-Encoding: chunked`を使用した巧妙に細工された`DELETE`/`OPTIONS`リクエストが、プロキシとバックエンド間のリクエスト境界の不一致を引き起こす可能性があります。これにより、リライトされたルートを介したリクエストスマグリングが発生する可能性があります。攻撃者は、意図しないバックエンドルート(例えば、内部/管理エンドポイント)に2番目のリクエストをスマグリングし、設定されたリライト先/パスのみが到達可能であるという前提を回避できる可能性があります。これは、Vercelなど、CDNレベルでリライトを処理するプロバイダーでホストされているアプリケーションには影響しません。この脆弱性は、Next.jsがベンダリングしている上流ライブラリに起因します。これは、Next.js 15.5.13および16.1.7で、その依存関係の動作を更新し、`content-length`と`transfer-encoding`の両方が存在しない場合にのみ`content-length: 0`が追加され、そのコードパスで`transfer-encoding`が削除されないようにすることで修正されています。直ちにアップグレードできない場合は、エッジ/プロキシでリライトされたルートへのチャンク化された`DELETE`/`OPTIONS`リクエストをブロックし、および/またはバックエンドルートで認証/認可を強制してください。
ソース
2Next.js の CVE-2025-29927、CVE-2026-27978、CVE-2026-29057 に関するいくつかの Proof-of-Concept(PoC)
CVE-2026-29057 Next.jsリクエストスマグリングを再現するDockerベースのラボ。脆弱な15.5.12と修正済み15.5.13を、生のチャンク転送HTTPペイロードで比較します。
責任ある使用
脆弱性情報は、自分が所有しているシステム、またはテストを許可されているシステムでのみ使用してください。 Kitploit は公開研究メタデータにリンクしており、エクスプロイト コードや悪意のあるペイロードは保存しません。