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
50
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
520
攻撃者の視点から見たGraphQLのセキュリティ
kuzushiki
0
50
PythonのURLパーサで見つかった脆弱性について解説する
kuzushiki
0
73
Pythonのtarfileによる展開処理がセキュアになりそう
kuzushiki
0
28
Web Cache Deception Attackについて解説する
kuzushiki
0
78
PHP8.2の新機能✞SensitiveParameter✞につい て
kuzushiki
0
39
Apple M1 CPUの脆弱性「PACMAN」について解説する
kuzushiki
0
900
ファームウェア解析はじめました
kuzushiki
0
33
Other Decks in Technology
See All in Technology
サーバー常駐型の 簡易障害調査AI エージェントを作ってみた話
masayoshi
1
300
AI駆動開発を組織で促すために
lycorptech_jp
PRO
7
8.7k
tamachi.goを支える技術
rymiyamoto
0
110
マイナンバーカード本人確認の実装比較(OAuth/OIDC Numa (Immersion) Workshop 2026) / 20260825 numa-12
oidfj
PRO
0
330
GopherCon @シアトル に行ってきました
logica0419
0
350
あなたの知らないバージョン命名規則
sat
PRO
2
850
500名弱規模の組織のPythonプロジェクト(dbt) をどう管理するか?
hiracky16
0
360
アクセスキー流出時の対応で再認識した攻撃側と防御側の非対称性について
kazzpapa3
0
430
hookで自作する Claude Code の「実況ボード」
shinyasaita
2
230
IHV like なユースケースへのOpenID Connect 関連仕様の適用事例
optim
0
350
Bill One 開発エンジニア 紹介資料
sansan33
PRO
7
20k
みてねにおけるAI-DLC導入活動とAIドリブン開発の現在地/JAWS-UG AI-DLC #2
isaoshimizu
2
270
Featured
See All Featured
Between Models and Reality
mayunak
4
410
Optimizing for Happiness
mojombo
378
71k
Color Theory Basics | Prateek | Gurzu
gurzu
0
440
GitHub's CSS Performance
jonrohan
1033
470k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
290
Scaling GitHub
holman
464
140k
How to Build an AI Search Optimization Roadmap - Criteria and Steps to Take #SEOIRL
aleyda
1
2.2k
Marketing to machines
jonoalderson
1
5.7k
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
480
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
900
Ethics towards AI in product and experience design
skipperchong
2
350
Avoiding the “Bad Training, Faster” Trap in the Age of AI
tmiket
0
220
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な どで遮断しましょう
おわりに ミドルウェアでのチェックを過信してはいけない 使う前に公式ドキュメントを読んで、用途に問題がないか確認しておこう バグハンター目線だと狙い目かも?