2.7 KiB
2.7 KiB
title, published_date, affected_versions, fixed_versions, severity, exploit_status, stack, attack_type, primary_source, secondary_sources, target_types, public_target_allowed, authorization_required, minimum_validation, prohibited_use
| title | published_date | affected_versions | fixed_versions | severity | exploit_status | stack | attack_type | primary_source | secondary_sources | target_types | public_target_allowed | authorization_required | minimum_validation | prohibited_use | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Next.js middleware authorization bypass mapping | 2025-03-21 |
|
|
critical | See official advisory; treat as high-priority authorization bypass |
|
|
https://github.com/vercel/next.js/security/advisories/GHSA-f82v-jwr5-mffw |
|
true | true | Use an isolated vulnerable app and compare unauthorized access behavior before and after upgrading. | Do not try bypass paths against unowned or unapproved public deployments. |
Next.js 中间件授权绕过映射
事件层
- 官方来源: GHSA-f82v-jwr5-mffw
- 发布时间: 2025-03-21
- 影响范围: 11.1.4 至 13.5.9 之前,14.0.0 至 14.2.25 之前,15.0.0 至 15.2.3 之前
- 修复版本: 13.5.9、14.2.25、15.2.3
该事件的关键点不是“某个单一路径绕过技巧”,而是把授权逻辑放在 Next.js middleware 中时,路径匹配、标准化或边界处理一旦出问题,就可能让前置授权失效。
实验层
适用目标类型
lab-locallab-publicauthorized-third-party
实验思路
- 在隔离环境部署一个存在受保护路由的 Next.js 应用,例如
/admin完全依赖 middleware 做访问控制。 - 保持后端业务处理层不做二次鉴权,以便观察“只靠 middleware”时的风险。
- 在易受影响版本与修复版本之间对比未授权访问表现。
- 把请求路径、重定向、状态码、缓存行为和服务端日志写入测试记录。
推荐的最小化验证
- 仅使用未授权访问对受保护路由做行为对比。
- 只在实验环境或明确授权目标上复现官方公告所述边界问题。
- 验证完成后立即升级到修复版本,并补上服务端二次鉴权。
观测点
- 仅依赖 middleware 保护的路由是否能被未授权访问
- 反向代理、缓存层或重写规则是否放大了边界问题
- 升级后是否仍存在“前置鉴权失效、后端无兜底”的设计风险
回填建议
- 若案例命中,应在 测试记录模板 中记录修复前后差异。
- 在 08-threat-intel 中把 Next.js 官方安全公告列为高优先级订阅源。