艾体宝新闻 | Node.js 高危安全漏洞:堆栈溢出可能导致服务器崩溃(CVE-2025-59466)

一、漏洞描述

2026年1月13日,Node.js 项目官方披露了新的高危漏洞,漏洞编号为CVE-2025-59466(CVSS评分:7.5)。

漏洞成因在于Node.js 使用 V8 JavaScript 引擎,并尝试在调用栈空间耗尽时抛出可捕获的错误,以便运行时或框架可以优雅处理异常,保持服务可用。然而,在使用 Node.js 的async_hooks模块时(这个 API 用于在异步操作生命周期中追踪上下文,如数据库查询、定时器、HTTP 请求等),发生了一个边缘情况的错误:当用户代码中出现深度递归,耗尽了调用栈空间,Node.js 会直接退出进程,返回退出码 7(Internal Exception Handler Run-Time Failure),而不会抛出可以被捕获的异常,导致无法通过程序内的错误处理捕获崩溃,从而造成服务不可用。

二、影响版本

此次漏洞影响面较广,从Node.js 8.x 开始引入async_hooks API直到 18.x 的版本,这些版本都被视为高危的版本,且由于Carbon的Node.js 8.0.0版本于2017年5月30日发布,目前已经达到EoL(生命周期终止),因此次版本不会有补丁的发布。

Node.js的应用面极广,多种流行框架和性能监控工具都使用了Node.js组件,如 Datadog、New Relic、Dynatrace、Elastic APM、OpenTelemetry,如果有采用这些框架工具的项目同样需要注意补丁和版本的更新。

三、缓解措施

Node.js 官方在 以下版本中加入了修复,建议及时更新到这些版本:

  • Node.js 20.20.0 (LTS)

  • Node.js 22.22.0 (LTS)

  • Node.js 24.13.0 (LTS)

  • Node.js 25.3.0(当前版本)

四、艾体宝 Mend.io (原WhiteSource)解决方案

针对 CVE-2025-59466 这一影响范围广、生态依赖复杂的 Node.js 高危漏洞,艾体宝Mend SCA可以通过解析package.json、package-lock.json、yarn.lock等依赖文件或者计算项目文件哈希值,实现自动识别项目中直接或间接依赖的Node.js组件,并分析受影响组件在项目中的实际调用路径和依赖链,从而确认是否是真正有危害的漏洞。

对于 CVE-2025-59466 这种有明确修复方案的漏洞,Mend可以针对可修复版本提供可操作的整改建议,包括明确推荐的安全版本,例如Node.js 20.20.0+、Node.js 22.22.0+、Node.js 24.13.0+等,便利整个修复流程。

相关推荐
xiaofeichaichai4 小时前
Webpack
前端·webpack·node.js
Python私教7 小时前
把开源 Agent 打包成"解压双击即用"的 Windows 便携包:一条命令的完整实现
node.js
没事别瞎琢磨9 小时前
十一、审计与 Run Session——每一步操作都被记录
人工智能·node.js
没事别瞎琢磨9 小时前
十六、AgentSandbox——把所有模块串起来的编排类
人工智能·node.js
没事别瞎琢磨10 小时前
十二、网络代理与白名单规则引擎
人工智能·node.js
没事别瞎琢磨10 小时前
十四、Git Worktree 隔离执行
人工智能·node.js
没事别瞎琢磨11 小时前
十、统一 Runner 入口——能力检测与模式回退
人工智能·node.js
没事别瞎琢磨11 小时前
八、环境隔离——构建安全的子进程环境
人工智能·node.js
没事别瞎琢磨12 小时前
六、输出捕获与截断
人工智能·node.js
没事别瞎琢磨12 小时前
七、敏感路径预检——Protected Paths
人工智能·node.js