漏洞预警|Node.js突发大量漏洞
Josh
Josh
银河哈希
2026年10月22日 15:15
辽宁
去阅读
漏洞概述
Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行时环境,让开发者能够用 JavaScript 编写服务器端代码。它采用事件驱动、非阻塞 I/O 模型,特别适合构建高并发、I/O 密集型的网络应用,如 Web 服务器、实时应用和 API 服务。Node.js 拥有庞大的 npm 生态系统,提供海量开源包,极大提升了开发效率。
近日,银河哈希通过安全监测发现Node.js存在Node.js Brotli 解码器越界写远程代码执行漏洞(CVE-2026-111497)、Node.js 主机名宽松解析为 IP 地址的 TLS 证书校验绕过漏洞(CVE-2026-106069)、Node.js 全角数字 IP 的 TLS 证书校验绕过漏洞(CVE-2026-105483)、Node.js DNS 解析遇空字符截断漏洞(CVE-2026-105482)、Node.js 非规范 IPv4 主机名证书校验不当漏洞(CVE-2026-106072)、Node.js 长连接套接字响应早于请求漏洞(CVE-2026-105481)、Node.js 启动快照与单可执行文件随机值重复漏洞(CVE-2026-106074)、Node.js 权限模型通配符查找过度授权漏洞(CVE-2026-106071)、Node.js ZIP 文件头校验失败返回可控字节漏洞(CVE-2026-106070)、(Node.js 文件路径解析绕过权限模型漏洞(CVE-2026-106073)总计十个漏洞。
漏洞介绍
| 漏洞编号 | 漏洞类型 | 漏洞等级 | POC 是否公开 |
|---|---|---|---|
| CVE-2026-111497 | 远程代码执行 | 高危 | 暂未公开 |
| CVE-2026-106069 | 证书校验绕过 | 高危 | 暂未公开 |
| CVE-2026-105483 | 证书校验绕过 | 高危 | 暂未公开 |
| CVE-2026-105482 | 输入处理缺陷 | 高危 | 暂未公开 |
| CVE-2026-105481 | 逻辑缺陷 | 中危 | 暂未公开 |
| CVE-2026-106072 | 证书校验不当 | 中危 | 暂未公开 |
| CVE-2026-106074 | 随机数可预测 | 中危 | 暂未公开 |
| CVE-2026-106070 | 输入校验不当 | 低危 | 暂未公开 |
| CVE-2026-106071 | 权限绕过 | 低危 | 暂未公开 |
| CVE-2026-106073 | 权限绕过 | 低危 | 暂未公开 |
说明:Node.js 官方安全公告对每个漏洞仅提供标题级描述,未披露技术成因、补丁细节及 POC。以下分析基于漏洞描述与各模块实现原理推导,供技术研判参考。
- CVE-2026-111497|Brotli 解码器越界写远程代码执行(高危)
Brotli 解码依赖距离码与长度码的组合来复用已解压的历史数据,解码器维护定长输出缓冲区并按回指距离回写。当距离与长度的组合未做严格边界校验时,写入位置会落到缓冲区之外,形成越界写。Node.js 通过内置 zlib 绑定把 Brotli 解压暴露给上层,任何接收 br 内容编码的 HTTP 客户端、解压用户上传 .br 文件的服务,都在攻击面上。堆上越界写可进一步覆盖相邻对象长度字段或函数指针,最终转化为任意代码执行。官方尚未公布触发细节与 POC,本节为原理性分析。
- CVE-2026-106069|主机名宽松解析为 IP 的证书校验绕过(高危)
TLS 主机名校验存在两条分支:IP 字面量走 iPAddress SAN 比对,域名走 dNSName SAN 通配匹配。当传入字符串在形式上不是 IP、但会被底层解析成 IP 时(十进制整数、十六进制、八进制等写法),校验侧按域名分支处理,而连接侧最终落到具体 IP。两侧对同一字符串的语义解释不一致,攻击者只要持有匹配其中一种解释的证书,就能通过校验并冒充目标端点。
- CVE-2026-105483|全角数字 IP 的证书校验绕过(高危)
Unicode 全角数字(U+FF10–U+FF19)与 ASCII 数字形近而异码。若 IP 被写成全角形式,只识别 ASCII 的判定逻辑会将其归为\"非 IP\"从而走域名校验分支,而底层连接层经 Unicode 规范化后实际连到对应的 IPv4 地址。这类解析器差异(parser differential)的根源在于校验发生在规范化之前:校验看到的是域名,连接使用的是 IP,中间的空档即为绕过点。
- CVE-2026-105482|dns.resolve 名称含空字符截断(高危)
DNS 查询从 JavaScript 字符串向下传递到底层 c-ares 的过程中,若以 C 风格 NUL 结尾字符串处理,域名中嵌入的空字节会使底层只识别前半段。于是上层校验看到的是 evil.com\\0.trusted.com 并据此通过了域名白名单或 SSRF 防护,实际发出的查询与后续连接却落在 evil.com。这是典型的空字节注入截断,杀伤力集中在\"先校验域名再发起请求\"这类依赖字符串判断的防护逻辑上。
- CVE-2026-105481|长连接套接字响应早于请求(中危)
keep-alive 场景下客户端将请求与响应按 FIFO 顺序配对。若对端在请求尚未完整写出前就推送响应,配对关系会整体前移错位,该响应被绑定到队列中更早或更晚的请求上。后果是响应串台:一个请求读到属于另一个请求的响应体。在反向代理、连接池、共享上游的场景下,这会放大为缓存投毒或跨用户数据泄露,属于请求去同步类问题的客户端侧变体。
- CVE-2026-106072|非规范 IPv4 主机名证书校验不当(中危)
IPv4 存在多种非规范书写形式(前导零、短式、十六进制段等)。校验逻辑若未先将其规范化为规范 IP,就会把这些字符串当作普通 DNS 名处理,转而接受证书中的 dNSName SAN。攻击者只需为形如该字符串的 DNS 名申请到一张合法证书,即可伪装成对应的 IP 端点并通过校验,进而拦截指向该 IP 的 TLS 流量。危害程度取决于证书颁发机构对这类特殊 DNS 名的审核强度。
- CVE-2026-106074|启动快照与单可执行文件随机值重复(中危)
用户态启动快照与 SEA 会将运行时状态序列化进 blob 以加速启动。若 crypto 模块在初始化阶段缓存的熵(内部随机缓冲或种子)被一并序列化,则从同一 blob 启动的每个进程都会恢复出同一份熵,randomUUID() 与 randomInt() 随之产出完全相同的序列。直接后果是会话标识、令牌、nonce、CSRF 值在多个实例间重复且可被预测,由同一次打包产出的所有副本共享同一套\"随机数\"。
- CVE-2026-106070|ZIP 文件头校验失败后返回可控字节(低危)
内置的 ZIP 解析在本地文件头或中央目录校验失败时,未清空已读入的缓冲区即返回,使调用方拿到一段来自攻击者构造文件的前缀字节。若调用方仅判断返回长度而未严格校验错误状态就直接消费这段数据,等于把未经验证的攻击者可控内容当作合法内容使用。危害取决于上层如何处置该返回值,因此评级为低,但在 SEA 打包等自动解包流程中仍可能被利用。
- CVE-2026-106071|权限模型通配符查找过度授权(低危)
权限模型用基数树组织文件系统授权路径,以支持高效前缀查找。引入通配符后,若匹配判定未强制要求路径分隔符作为边界,形如 /data/app* 的规则会命中 /data/appendix、/data/apps-secret 等本不在授权意图内的路径。结果是实际授予的读写范围大于配置者预期,属于匹配语义过宽导致的越权,而非校验缺失。
- CVE-2026-106073|fs.realpathSync 绕过权限模型(低危)
fs.realpathSync 会把符号链接解析为真实路径。权限模型在函数入口对传入路径做授权判定,但解析后的真实路径未在同一控制点重新校验,导致\"被校验的路径\"与\"被访问的路径\"不一致。攻击者只需构造一个落在授权目录内、经解析后指向敏感目标的软链接,即可借道读写本应被拒绝的文件。这是典型的校验时机与访问时机分离问题。
影响范围
| CVE | 受影响版本线 |
|---|---|
| CVE-2026-111497(Brotli RCE) | 26.x / 24.x / 22.x |
| CVE-2026-106069(主机名宽松解析为 IP) | 26.x / 24.x / 22.x |
| CVE-2026-105482(DNS NUL 截断) | 26.x / 24.x / 22.x |
| CVE-2026-105483(全角数字 IP) | 26.x / 24.x |
| CVE-2026-105481(长连接响应错序) | 26.x / 24.x / 22.x |
| CVE-2026-106072(非规范 IPv4) | 26.x / 24.x / 22.x |
| CVE-2026-106074(快照随机值重复) | 26.x / 24.x / 22.x |
| CVE-2026-106070(ZIP 头校验) | 26.x |
| CVE-2026-106071(通配符过度授权) | 26.x |
| CVE-2026-106073(realpathSync 绕过) | 26.x / 24.x / 22.x |
解决方案
升级至安全版本,暂无临时缓解方案
参考文献
https://nodejs.org/zh-cn/blog/vulnerability/october-2026-security-releases
❝
大连银河哈希安全技术科技有限公司成立于2022年,公司初创团队源于国内知名战队ChaMd5安全团队组建,曾获2023年大连市“连盾”演练第二名、2026年大连市“连盾”演练第一名及各地市优秀攻击队,并获得多地网信办、经侦支队及应急保障中心感谢信,也服务多家CTF厂商举办赛事。
❞
版权声明
本站仅做备份收录,仅供研究与教学参考之用。
读者将信息用于其他用途的,全部法律及连带责任由读者自行承担,本站不承担任何责任。










评论