艾体宝新闻 | 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+等,便利整个修复流程。

相关推荐
见过夏天2 天前
Node.js 常用命令全攻略
node.js
前端双越老师2 天前
我从 0 开发的 AI Agent 智语项目发布了
前端·node.js·agent
kyriewen3 天前
2026 年了,还在用 Node.js?Bun 迁移实战:20 分钟搞定,附踩坑记录
前端·javascript·node.js
donecoding3 天前
3 条命令搞定闭环 Monorepo:Lerna 版本管理 + 拓扑构建 + 自定义分发
前端·前端框架·node.js
Flynt4 天前
npm v12 来了:allowScripts 默认关闭,我的项目差点跑不起来
安全·npm·node.js
叫我Paul就好5 天前
尝试 Node 搭建后端-开发框架
node.js
风止何安啊7 天前
网课倍速痛点解决:一套前端代码实现自由控速播放器
前端·javascript·node.js
糖拌西瓜皮7 天前
Node.js核心模块实战:文件、路径、HTTP与流处理
javascript·node.js
糖拌西瓜皮7 天前
Node.js工程化实践:包管理、TypeScript配置与代码质量
typescript·node.js
糖拌西瓜皮7 天前
NestJS入门指南:Java开发者的Spring Boot体验
javascript·node.js