Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Next.jsの脆弱性(CVE-2025-29927)の話
Search
kuzushiki
March 25, 2025
Technology
0
21
Next.jsの脆弱性(CVE-2025-29927)の話
51回 初心者のためのセキュリティ勉強会(オンライン開催)の発表資料です。
https://sfb.connpass.com/event/348181/
kuzushiki
March 25, 2025
Tweet
Share
More Decks by kuzushiki
See All by kuzushiki
ECS-cape – Hijacking IAM Privileges in Amazon ECSを解説する
kuzushiki
0
260
CISSPに出てくるセキュリティモデルとアクセス制御モデルをまとめてみた
kuzushiki
0
230
攻撃者の視点から見たGraphQLのセキュリティ
kuzushiki
0
22
PythonのURLパーサで見つかった脆弱性について解説する
kuzushiki
0
36
Pythonのtarfileによる展開処理がセキュアになりそう
kuzushiki
0
11
Web Cache Deception Attackについて解説する
kuzushiki
0
30
PHP8.2の新機能✞SensitiveParameter✞につい て
kuzushiki
0
19
Apple M1 CPUの脆弱性「PACMAN」について解説する
kuzushiki
0
770
ファームウェア解析はじめました
kuzushiki
0
18
Other Decks in Technology
See All in Technology
技術選定、下から見るか?横から見るか?
masakiokuda
0
180
Next.js 16の新機能 Cache Components について
sutetotanuki
0
210
田舎で20年スクラム(後編):一個人が企業で長期戦アジャイルに挑む意味
chinmo
1
1.1k
『君の名は』と聞く君の名は。 / Your name, you who asks for mine.
nttcom
1
150
Data Hubグループ 紹介資料
sansan33
PRO
0
2.5k
わが10年の叡智をぶつけたカオスなクラウドインフラが、なくなるということ。
sogaoh
PRO
1
290
投資戦略を量産せよ 2 - マケデコセミナー(2025/12/26)
gamella
1
610
自己管理型チームと個人のセルフマネジメント 〜モチベーション編〜
kakehashi
PRO
5
2.1k
Oracle Database@Azure:サービス概要のご紹介
oracle4engineer
PRO
3
260
AWS re:Invent 2025 を振り返る
kazzpapa3
2
110
AI との良い付き合い方を僕らは誰も知らない (WSS 2026 静岡版)
asei
1
230
AI: The stuff that nobody shows you
jnunemaker
PRO
1
160
Featured
See All Featured
Context Engineering - Making Every Token Count
addyosmani
9
590
A Guide to Academic Writing Using Generative AI - A Workshop
ks91
PRO
0
170
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
37
The Power of CSS Pseudo Elements
geoffreycrofte
80
6.1k
Imperfection Machines: The Place of Print at Facebook
scottboms
269
13k
HDC tutorial
michielstock
1
300
Neural Spatial Audio Processing for Sound Field Analysis and Control
skoyamalab
0
140
Designing for Timeless Needs
cassininazir
0
110
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
115
100k
Digital Projects Gone Horribly Wrong (And the UX Pros Who Still Save the Day) - Dean Schuster
uxyall
0
120
Leading Effective Engineering Teams in the AI Era
addyosmani
9
1.4k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
130
Transcript
Next.jsの脆弱性 (CVE-2025-29927)の話
自己紹介 kuzushiki - セキュリティエンジニア5年目 - 2020~2024: 脆弱性診断・ペネトレーションテスト - 2024~: コーポレートITのセキュリティ担当
背景 発表のネタがなく困っていたところ、 先週末にNext.jsの脆弱性が話題になっていた→ 面白そうだったので調査することにした
Next.jsとは 有名なWebフレームワークの一つで、Reactがベースになっている JavaScriptのメタフレームワークの中では利用率1位 https://2024.stateofjs.com/en-US/libraries/#all_tools_experience 2024年|案件が多い「フレームワーク」ランキング 8位 https://prtimes.jp/main/html/rd/p/000000111.000045678.html
CVE-2025-29927とは Next.jsのMiddlewareによる処理がスキップされる脆弱性 認証認可のチェックをMiddlewareでやっていた場合、 本来アクセスできない機能にアクセスされる恐れあり 公式のアナウンスも出ていた https://nextjs.org/blog/cve-2025-29927
デモやります デモアプリはAppRunで公開しているので、ぜひ試してみてください! https://app-e5e67cd8-f4e6-4f7c-b571-09b522207dd6.ingress.apprun.sakura.ne.jp/ ソースコードも公開中 https://github.com/kuzushiki/CVE-2025-29927-test
なんでこんなことに? > Next.js uses an internal header x-middleware-subrequest to prevent
recursive requests from triggering infinite loops. https://nextjs.org/blog/cve-2025-29927 内部ヘッダーx-middleware-subrequestを使って、再帰的なリク エストが無限ループを引き起こすのを防いでいた。 -> すでにMiddlewareを通過したものとして処理されるように なっていた!
脆弱性についての所感 CVSS 9.1で深刻的な脆弱性ではあるものの... 実は、Middlewareのみで認証認可のチェックをすることは推奨されていない > Optionally use Middleware to perform
optimistic checks. https://nextjs.org/docs/pages/building-your-application/authentication 実際に悪用される可能性は低かったのでは?
対策 可能ならアップデートしましょう For Next.js 15.x, this issue is fixed in
15.2.3 For Next.js 14.x, this issue is fixed in 14.2.25 For Next.js 13.x, this issue is fixed in 13.5.9 For Next.js 12.x, this issue is fixed in 12.3.5 もし難しければ、x-middleware-subrequestヘッダを含む外部からのリクエストをWAFな どで遮断しましょう
おわりに ミドルウェアでのチェックを過信してはいけない 使う前に公式ドキュメントを読んで、用途に問題がないか確認しておこう バグハンター目線だと狙い目かも?