Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Next.jsの脆弱性(CVE-2025-29927)の話
Search
kuzushiki
March 25, 2025
Technology
52
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
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
330
CISSPに出てくるセキュリティモデルとアクセス制御モデルをまとめてみた
kuzushiki
0
550
攻撃者の視点から見たGraphQLのセキュリティ
kuzushiki
0
52
PythonのURLパーサで見つかった脆弱性について解説する
kuzushiki
0
75
Pythonのtarfileによる展開処理がセキュアになりそう
kuzushiki
0
34
Web Cache Deception Attackについて解説する
kuzushiki
0
88
PHP8.2の新機能✞SensitiveParameter✞につい て
kuzushiki
0
39
Apple M1 CPUの脆弱性「PACMAN」について解説する
kuzushiki
0
910
ファームウェア解析はじめました
kuzushiki
0
34
Other Decks in Technology
See All in Technology
GoのInterface内部構造から学ぶ!最高パフォーマンスを出すコード設計
yappli_developers
1
250
山手線を徒歩で一周してわかった、 位置情報アプリは「足」が最強のデバッガー
hinakko
0
180
ユーザー価値を届け続けるためにウォンテッドリーが大切にしている文化
kotaminato
0
190
今話題のAI「Jev」って何? 宇宙最速で学ぶ会
minorun365
PRO
30
18k
【技術的負債conf】事業成長に伴う技術的負債の説明責任とAIによるモニタリング、認知的負債について
i35_267
3
2k
aws-iot-platform-architecture-use-cases.pdf
ma2shita
0
490
株式会社シーエーシー エンジニア向け会社紹介資料
cac
0
57k
The Knowledge Spine: A Machine-Executable Ontology for Governed Marketing Activation
vananth22
0
120
え、こんなに早く改修できるの?──新人エンジニアとスクラムマスターの2人が語る、AI×アジャイル開発の現場
ysasago
2
640
AIエージェントの一手は 誰も見ていない - Falco拡張OSS「Prempti」とeBPFで サーバーレス実行基盤を二層防御する
keitah
0
460
AI時代、データエンジニアが一番おもろい
genshun9
0
680
Deployment の 先にある AI Agent 基盤 - kagent vNext、Agent Substrate、Hermes から読み解く Agent Runtime の現在地 / k8s-matsuri-2-ai-agent-platform-amsy810
masayaaoyama
4
700
Featured
See All Featured
The Spectacular Lies of Maps
axbom
PRO
1
1k
Building a Scalable Design System with Sketch
lauravandoore
464
34k
Designing Experiences People Love
moore
143
24k
How to build an LLM SEO readiness audit: a practical framework
nmsamuel
1
910
Mobile First: as difficult as doing things right
swwweet
225
10k
Visualization
eitanlees
152
17k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
680
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
37
6.6k
How to audit for AI Accessibility on your Front & Back End
davetheseo
0
550
Beyond borders and beyond the search box: How to win the global "messy middle" with AI-driven SEO
davidcarrasco
3
250
How to optimise 3,500 product descriptions for ecommerce in one day using ChatGPT
katarinadahlin
PRO
3
3.8k
Fashionably flexible responsive web design (full day workshop)
malarkey
409
67k
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な どで遮断しましょう
おわりに ミドルウェアでのチェックを過信してはいけない 使う前に公式ドキュメントを読んで、用途に問題がないか確認しておこう バグハンター目線だと狙い目かも?