NestJS DevTools 存在严重RCE漏洞(CVE-2025-54782)

阅读量12793

发布时间 : 2025-08-04 17:19:45

x
译文声明

本文是翻译文章,文章原作者 Ddos,文章来源:securityonline

原文地址:https://securityonline.info/critical-rce-flaw-cve-2025-54782-in-nestjs-devtools-allows-remote-code-execution-via-malicious-websites/

译文仅供参考,具体内容表达以及含义原文为准。

在流行的用于构建可扩展 Node.js 应用的 NestJS 框架中,其组件 @nestjs/devtools-integration 包被发现存在严重安全漏洞。该漏洞编号为 CVE-2025-54782,CVSS v4 评分高达 9.4,攻击者仅需诱导开发者访问恶意网站,即可在其本地机器上执行任意代码

Nest 官方通告指出:“由于沙箱隔离不当且缺乏跨源保护,任何恶意网站访问者均可在开发者本地机器上执行任意代码。”

漏洞源于 devtools 集成启动了一个本地开发 HTTP 服务器并暴露了多个接口,其中最危险的是 /inspector/graph/interact 端点,该接口接受包含代码的 JSON 输入,并使用不安全的 vm.runInNewContext 沙箱执行这些代码。

通告指出:“该沙箱实现与已废弃的 safe-eval 库极为相似……已知的多种沙箱逃逸技术可实现任意代码执行。”

此外,服务器的 CORS 配置也存在缺陷:

  • Access-Control-Allow-Origin 设置为固定域名,但未验证请求实际来源;

  • 未限制 Content-Type,允许攻击者通过 HTML 表单或简单 JavaScript 发送 text/plain 类型的 POST 请求。

这使得恶意网站能够绕过浏览器安全策略,利用沙箱缺陷直接在开发者机器上执行代码。

攻击流程示例:

  1. 开发者启动带有 devtools 集成的 NestJS 项目;

  2. 访问受损或恶意网站;

  3. 该网站向 http://localhost:<端口>/inspector/graph/interact 发送特制的 POST 请求;

  4. 服务器信任请求并在不安全的沙箱中执行任意 JavaScript 代码;

  5. 攻击者获得开发者系统的远程控制权。

官方警告称:“由于沙箱极易被逃逸,且该端点接受未经严格校验的跨源 POST 请求,该漏洞允许任意代码执行。”

维护团队已迅速响应,采取以下措施:

  • 用更安全的 @nyariv/sandboxjs 替换不安全的沙箱实现;

  • 增加严格的来源和内容类型验证;

  • 引入开发工具连接的身份认证机制。

本文翻译自securityonline 原文链接。如若转载请注明出处。
分享到:微信
+10赞
收藏
安全客
分享到:微信

发表评论

Copyright © 北京奇虎科技有限公司 三六零数字安全科技集团有限公司 安全KER All Rights Reserved 京ICP备08010314号-66