CVE-2025-69211Nest是一个用于构建可扩展Node.js服务器端应用程序的流行框架。2025年12月29日,NestJS官方披露了一个存在于@nestjs/platform-fastify中的安全漏洞,编号为CVE-2025-69211,CVSS评分7.4,属于高危级别。该漏洞的根本原因在于Fastify URL编码中间件绕过。当使用@nestjs/platform-fastify作为底层适配器的NestJS应用程序,通过NestMiddleware或MiddlewareConsumer配置安全检查中间件(如身份认证、授权验证等),或者通过app.use()方法注册中间件,并将这些中间件应用于特定路由(如使用.forRoutes('admin')指定管理后台路由)时,存在被绕过的风险。攻击者可以通过构造特殊的URL编码请求来绕过中间件的安全检查,从而实现未授权访问受保护的路由、获取管理端点访问权限,或跳过中间件执行的清理和验证逻辑。此漏洞影响所有在11.1.11版本之前使用@nestjs/platform-fastify的应用,建议受影响的用户立即升级到最新版本以修复此安全问题。
该漏洞源于@nestjs/platform-fastify在处理URL编码路径时的中间件注册逻辑存在缺陷。当开发者使用MiddlewareConsumer配置中间件并指定特定路由时,例如.forRoutes('admin'),NestJS会尝试将这些路由的保护逻辑应用到Fastify的路由上。然而,由于Fastify的路由匹配机制与Express存在差异,攻击者可以通过在URL路径中使用特殊编码字符(如%2f表示/、%20表示空格等)来构造畸形的请求路径。当Fastify接收到这样的编码请求时,可能会将其解码后与中间件绑定的路由进行匹配,但由于中间件是针对原始路径字符串注册的,导致安全检查被绕过。攻击者可以利用此漏洞绕过认证中间件直接访问受保护的管理接口,或者绕过输入验证和清理中间件进行恶意操作。漏洞的技术根源在于NestJS的中间件注册机制没有正确处理Fastify的URL解码行为,使得通过路径编码技巧可以轻易绕过安全控制。