本仓库仅供教育目的使用。 我没有发现这个漏洞——这是对已公开披露安全问题的演示和说明。未经授权利用此知识攻击易受攻击的系统是非法的且不道德的。
如果你在生产应用中使用Next.js,立即停止你正在做的事并检查你的版本号。有一个严重的中间件漏洞可能导致你的整个认证系统门户大开。
这个关键漏洞已经过负责任的披露和修复,因此我分享这个教育演示以帮助开发者理解该问题并保护他们的系统。
问题在于 Next.js 如何处理内部 x-middleware-subrequest HTTP 标头。这个标头本意是防止中间件递归,但攻击者可以操纵它完全绕过中间件的执行。
想想这意味着什么——任何基于中间件的安全措施都可能失效:
已有报告称该漏洞在野外被用于访问管理员后台、用户数据甚至财务信息。一些组织在不知情的情况下暴露了敏感数据。
本仓库包含:
# Strips the problematic header
proxy_set_header x-middleware-subrequest "";
# Does the same thing for Apache users
RequestHeader unset x-middleware-subrequest
// Quick middleware fix until you can properly update
app.use((req, res, next) => {
delete req.headers['x-middleware-subrequest'];
next();
});
这个漏洞强化了重要的安全原则:
查看这些资源,构建更安全的 Next.js 应用:
本仓库仅出于教育目的提供 CVE-2025-29927 的技术解释和演示。所有信息均基于已适当修补的公开披露细节。如果你在任何软件中发现安全漏洞,请始终遵循负责任的披露实践:
这个漏洞表明即使是精心设计的框架也可能存在关键的安全缺陷。保持警惕,并将更新依赖项作为日常工作流程的一部分。
如有疑问或需要任何这些修复的帮助,请随时联系!