Node.js 官方发布安全版本修复 10 个漏洞,本公告说明函数计算 Node.js 运行时的受影响范围与修复建议。
背景信息
Node.js 官方于 2026 年 10 月 21 日发布 22.x、24.x、26.x 安全版本,修复 10 个安全漏洞,最高评级为高危(HIGH),其中 CVE-2026-111497 为 Brotli 解码器越界写入,可导致远程代码执行。漏洞详情、受影响版本及修复版本请参见Node.js 官方安全公告。
Node.js 官方同时明确:安全发布发生时,已停止官方安全维护(End of Life,EOL)的版本一律视为受影响。函数计算内置 Node.js 运行时(nodejs12、nodejs14、nodejs16、nodejs18、nodejs20)均基于 EOL 的 Node.js 版本构建,不在本次官方修复范围内。受影响的运行方式与修复建议如下,请按下表核查并及时处理。
影响范围
|
运行方式 |
影响说明 |
修复建议 |
|
FC 2.0 / FC 3.0 内置 Node.js 运行时(nodejs12、nodejs14、nodejs16、nodejs18、nodejs20) |
内置运行时基于上游 EOL 版本构建,无官方修复版本。平台运行时调用链本身不构成已知触发路径,风险取决于函数代码及其依赖是否使用受影响能力处理不可信输入,如 Brotli 解压、DNS(Domain Name System,域名系统)解析、TLS 证书校验、HTTP keep-alive 等。 |
建议迁移至自定义运行时( |
|
自定义运行时 + Node.js 公共层 |
取决于层中实际的 Node.js 版本;低于 22.23.4 的 22.x、低于 24.22.1 的 24.x 未包含本次完整修复。 |
按下文 Node.js 公共层版本与升级建议表,升级至 Nodejs22 v4 或 Nodejs24 v2 及以上,完成兼容验证并替换旧实例。 |
|
自定义容器或在自定义运行时中自带 Node.js |
取决于镜像或运行时中实际的 Node.js 版本。 |
升级至 Node.js 22.23.4、24.22.1 及以上,重新构建并发布镜像。 |
Node.js 20.x 及更早版本均已结束官方安全支持,无官方修复版本,也没有对应的修复公共层。使用非官方 Node.js 公共层,或在自定义运行时、自定义容器中自带 Node.js 的业务,请升级至 Node.js 22.23.4、24.22.1 及以上版本。
解决方案
内置 Node.js 运行时的解释器与调用链代码位于平台镜像的固定路径,公共层无法覆盖,且相关版本均无官方修复版本。内置运行时的处理方式为:迁移至自定义运行时并使用修复版 Node.js 公共层;暂无法迁移的,请联系函数计算技术支持。
Node.js 公共层版本与升级建议
|
公共层 |
兼容运行时 / Node.js 基线 |
不推荐版本 |
推荐版本 |
|
|
v4 以下 |
v4 及以上 |
|
|
|
v2 以下 |
v2 及以上 |
|
|
其他低于 22 的 Node.js 公共层 |
无 |
全部现有版本 |
无,需升级至 Nodejs22 或 Nodejs24 公共层 |
如需协助,请通过阿里云工单联系函数计算技术支持。