一个用于检测 CVE-2025-29927(Next.js 身份验证绕过漏洞)的 Nuclei 模板。如果你想确切了解此漏洞的工作原理,可以在此处阅读原始研究人员的精彩文章:here
这个模板非常直接。它做两件事:首先,识别网站是否使用 Next.js;然后,通过特定响应头的存在来测试目标是否利用了中间件。当这两者通过 HTTP 头同时存在时,此模板将识别出来。我编写此模板是为了帮助团队快速在其 Web 应用中搜寻 CVE-2025-29927 的存在,严格禁止任何其他用途。
此模板不会发现每一个受 CVE-2025-29927 影响的应用程序。此模板不会传递 x-middleware-subrequest: true 来测试应用程序是否可被攻击。此外,需要注意的是,两者的正向匹配并不意味着应用程序绝对存在漏洞。如果你的应用程序不使用中间件响应头,它将不会被此模板检测到。反过来,由于无法检测使用的 Next.js 版本,我的模板会将已修补的应用程序识别为存在漏洞。
如果您之前未使用过 Nuclei,可以按照以下说明操作:https://github.com/projectdiscovery/nuclei
您可能需要添加 -fr 开关以启用“跟随重定向”。
nuclei -u https://example.com -t ./CVE-2025-29927-6mile.yaml -fr

使用 Nuclei 的 -l 参数来使用文件中的 URL 列表。
nuclei -l websites.list -t ./CVE-2025-29927-6mile.yaml -fr -silent
