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
36
0
Share
Next.jsの脆弱性(CVE-2025-29927)の話
51回 初心者のためのセキュリティ勉強会(オンライン開催)の発表資料です。
https://sfb.connpass.com/event/348181/
kuzushiki
March 25, 2025
More Decks by kuzushiki
See All by kuzushiki
ECS-cape – Hijacking IAM Privileges in Amazon ECSを解説する
kuzushiki
0
290
CISSPに出てくるセキュリティモデルとアクセス制御モデルをまとめてみた
kuzushiki
0
400
攻撃者の視点から見たGraphQLのセキュリティ
kuzushiki
0
32
PythonのURLパーサで見つかった脆弱性について解説する
kuzushiki
0
56
Pythonのtarfileによる展開処理がセキュアになりそう
kuzushiki
0
21
Web Cache Deception Attackについて解説する
kuzushiki
0
47
PHP8.2の新機能✞SensitiveParameter✞につい て
kuzushiki
0
29
Apple M1 CPUの脆弱性「PACMAN」について解説する
kuzushiki
0
840
ファームウェア解析はじめました
kuzushiki
0
29
Other Decks in Technology
See All in Technology
データモデリング通り #5オンライン勉強会: AIに『ビジネスの文脈』を教え込むデータモデリング
datayokocho
0
290
LookerとADKで作る社内AIエージェント
chanyou0311
0
260
業務に残された「良くない型」で考える「TypeScriptの難しさ」
sajikix
0
170
How to learn AWS Well-Architected with AWS BuilderCards: Security Edition
coosuke
PRO
0
150
AWS運用におけるAI Agent活用術 / JAWS-UG 神戸 #11 LT大会
genda
1
290
障害対応のRunbookは作った、でも本当に動くの? AWS FIS で EKS の AZ 障害を再現してみた
tk3fftk
0
100
2026-05-14 要件定義からソース管理まで!IBM Bob基礎ハンズオン
yutanonaka
0
160
ESP32 IoTを動かしながらメモリ使用量を観測してみた話
zozotech
PRO
0
140
Fラン学生が考える、AI時代のデザインに執着した突破口
husengs7
1
200
アプリブロック機能のつくりかたと、AIとHTMLの不合理な相性の良さについて
kumamotone
1
260
開発サイクルのボーダーレス化に伴う組織変革から学んだこと / Organizational Transformation Amid the Borderless Development Cycle
mii3king
0
190
20260513_生成AIを専属DSに_AI分析結果の検品テクニック_ハンズオン_交通事故データ
doradora09
PRO
0
230
Featured
See All Featured
HU Berlin: Industrial-Strength Natural Language Processing with spaCy and Prodigy
inesmontani
PRO
0
380
Joys of Absence: A Defence of Solitary Play
codingconduct
1
360
Marketing to machines
jonoalderson
1
5.3k
Leo the Paperboy
mayatellez
7
1.8k
Practical Orchestrator
shlominoach
191
11k
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
290
The Spectacular Lies of Maps
axbom
PRO
1
740
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
360
Mind Mapping
helmedeiros
PRO
1
190
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.7k
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
350
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な どで遮断しましょう
おわりに ミドルウェアでのチェックを過信してはいけない 使う前に公式ドキュメントを読んで、用途に問題がないか確認しておこう バグハンター目線だと狙い目かも?