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
26
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
270
CISSPに出てくるセキュリティモデルとアクセス制御モデルをまとめてみた
kuzushiki
0
290
攻撃者の視点から見たGraphQLのセキュリティ
kuzushiki
0
27
PythonのURLパーサで見つかった脆弱性について解説する
kuzushiki
0
47
Pythonのtarfileによる展開処理がセキュアになりそう
kuzushiki
0
15
Web Cache Deception Attackについて解説する
kuzushiki
0
37
PHP8.2の新機能✞SensitiveParameter✞につい て
kuzushiki
0
25
Apple M1 CPUの脆弱性「PACMAN」について解説する
kuzushiki
0
790
ファームウェア解析はじめました
kuzushiki
0
22
Other Decks in Technology
See All in Technology
Digitization部 紹介資料
sansan33
PRO
1
7k
Lookerの最新バージョンv26.2がやばい話
waiwai2111
1
160
Webアクセシビリティ技術と実装の実際
tomokusaba
0
230
新職業『オーケストレーター』誕生 — エージェント10体を同時に回すAgentOps
gunta
4
1.5k
技術的負債の泥沼から組織を救う3つの転換点
nwiizo
8
2.5k
大規模サービスにおける レガシーコードからReactへの移行
magicpod
1
140
Claude Codeの進化と各機能の活かし方
oikon48
12
5k
LLM のプロダクト導入における開発の裏側と技術的挑戦
recruitengineers
PRO
1
110
Claude Codeが爆速進化してプラグイン追従がつらいので半自動化した話 ver.2
rfdnxbro
0
220
「ストレッチゾーンに挑戦し続ける」ことって難しくないですか? メンバーの持続的成長を支えるEMの環境設計
sansantech
PRO
3
330
Agentic Software Modernization - Back to the Roots (Zürich Agentic Coding and Architectures, März 2026)
feststelltaste
1
180
越境する組織づくり ─ 多様性を前提にしたチームビルディングとリードの実践知
kido_engineer
2
110
Featured
See All Featured
Navigating Team Friction
lara
192
16k
Building Applications with DynamoDB
mza
96
6.9k
Money Talks: Using Revenue to Get Sh*t Done
nikkihalliwell
0
170
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
How Software Deployment tools have changed in the past 20 years
geshan
0
32k
GitHub's CSS Performance
jonrohan
1032
470k
Prompt Engineering for Job Search
mfonobong
0
180
SEO Brein meetup: CTRL+C is not how to scale international SEO
lindahogenes
0
2.4k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
10
1.1k
A brief & incomplete history of UX Design for the World Wide Web: 1989–2019
jct
1
310
BBQ
matthewcrist
89
10k
The State of eCommerce SEO: How to Win in Today's Products SERPs - #SEOweek
aleyda
2
9.8k
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な どで遮断しましょう
おわりに ミドルウェアでのチェックを過信してはいけない 使う前に公式ドキュメントを読んで、用途に問題がないか確認しておこう バグハンター目線だと狙い目かも?