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
15
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
CISSPに出てくるセキュリティモデルとアクセス制御モデルをまとめてみた
kuzushiki
0
20
攻撃者の視点から見たGraphQLのセキュリティ
kuzushiki
0
14
PythonのURLパーサで見つかった脆弱性について解説する
kuzushiki
0
11
Pythonのtarfileによる展開処理がセキュアになりそう
kuzushiki
0
8
Web Cache Deception Attackについて解説する
kuzushiki
0
18
PHP8.2の新機能✞SensitiveParameter✞につい て
kuzushiki
0
11
Apple M1 CPUの脆弱性「PACMAN」について解説する
kuzushiki
0
670
ファームウェア解析はじめました
kuzushiki
0
9
「7-Zip」の脆弱性について解説する (CVE-2022-29072)
kuzushiki
0
17
Other Decks in Technology
See All in Technology
振り返りTransit Gateway ~VPCをいい感じでつなげるために~
masakiokuda
3
210
QuickSight SPICE の効果的な運用戦略~S3 + Athena 構成での実践ノウハウ~/quicksight-spice-s3-athena-best-practices
emiki
0
290
アクセスピークを制するオートスケール再設計: 障害を乗り越えKEDAで実現したリソース管理の最適化
myamashii
1
670
LIXIL基幹システム刷新に立ち向かう技術的アプローチについて
tsukuha
1
380
[SRE NEXT 2025] すみずみまで暖かく照らすあなたの太陽でありたい
carnappopper
2
470
推し書籍📚 / Books and a QA Engineer
ak1210
0
140
Talk to Someone At Delta Airlines™️ USA Contact Numbers
travelcarecenter
0
160
【あのMCPって、どんな処理してるの?】 AWS CDKでの開発で便利なAWS MCP Servers特集
yoshimi0227
6
950
20250718_ITSurf_“Bet AI”を支える文化とコストマネジメント
helosshi
0
100
Bill One 開発エンジニア 紹介資料
sansan33
PRO
4
13k
SREのためのeBPF活用ステップアップガイド
egmc
2
1.3k
[SRE NEXT] ARR150億円_エンジニア140名_27チーム_17プロダクトから始めるSLO.pdf
satos
5
3k
Featured
See All Featured
Why You Should Never Use an ORM
jnunemaker
PRO
58
9.5k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
47
9.6k
[RailsConf 2023] Rails as a piece of cake
palkan
55
5.7k
What's in a price? How to price your products and services
michaelherold
246
12k
Making Projects Easy
brettharned
116
6.3k
Optimizing for Happiness
mojombo
379
70k
It's Worth the Effort
3n
185
28k
Become a Pro
speakerdeck
PRO
29
5.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Product Roadmaps are Hard
iamctodd
PRO
54
11k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
29
1.8k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
44
2.4k
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な どで遮断しましょう
おわりに ミドルウェアでのチェックを過信してはいけない 使う前に公式ドキュメントを読んで、用途に問題がないか確認しておこう バグハンター目線だと狙い目かも?