首页
社区
课程
招聘
Node.js 高危漏洞警报(CVE-2025-23166):可导致远程系统崩溃
发表于: 2025-5-17 10:09 1279

Node.js 高危漏洞警报(CVE-2025-23166):可导致远程系统崩溃

2025-5-17 10:09
1279

Node.js相关图片

近期,Node.js团队发出了一则重要的安全公告,针对版本系列24.x23.x22.x20.x推出了至关重要的更新。这些补丁修复了从低危到高危的多个安全漏洞,尤其是注意到其中一个被评定为“高危”的漏洞,该漏洞可能会导致系统遭受远程崩溃的威胁。

此漏洞的编号为CVE-2025-23166,主要问题出现在异步加密操作的错误处理机制上。公告中指出,当在后台线程中执行时,C++方法SignTraits::DeriveBits()可能会由于处理用户提供的错误输入而错误地调用ThrowException()方法,这样将使得Node.js进程崩溃。由于这类加密操作通常应用于未经信任的输入,因此攻击者可能会利用该漏洞以远程方式使Node.js运行时崩溃。这一问题对所有活跃版本系列用户均有威胁,包括20.x22.x23.x24.x。成功利用此漏洞将导致Node.js进程崩溃,造成拒绝服务(DoS)情形,进而影响关键服务的正常运作。

紧接着,公布的另外一个被评定为“中危”的漏洞是CVE-2025-23167,此问题源于Node.js所使用的HTTP解析器llhttp中存在的缺陷。公告称,Node.js 20的HTTP解析器存在一个缺陷,允许使用\r\n\rX而不是强制要求的\r\n\r\n来终止HTTP/1头部。尽管这一不一致性似乎微不足道,但却会引发重大的安全隐患:可能导致请求走私(HTTP Smuggling),使攻击者能够绕过基于代理的访问控制,提交未经授权的请求。此漏洞对运行llhttp版本9之前的Node.js 20.x用户尤为重要。对代理控制的绕过能力可能导致未经授权的访问,甚至暴露内部系统和敏感信息。通过将llhttp升级至新版本9,相关问题得以修复,新版本现在强制执行正确的头部终止,减少安全隐患。

此外,还有一个被归类为“低危”的漏洞,即CVE-2025-23165,主要涉及在进行文件读取操作时,node::fs::ReadFileUtf8函数中的指针损坏问题。当第一个参数(args[0])为字符串,是由于uv_fs_s.file 中的指针损坏所导致的, ReadFileUtf8的内部绑定可能会泄露内存——分配了UTF-16路径的缓冲区,但在设置文件描述符的过程中被覆盖。其后果为每次调用都会造成不可恢复的内存泄漏,随着这一问题的积累,重复使用造成的内存无尽增长有可能最终触发拒绝服务(DoS)现象。这一内存泄漏影响Node.js版本系列v20v22中依赖ReadFileUtf8接口的API。虽然评级为低危,但是持续的内存泄漏会降低应用程序性能,并通过耗尽系统内存造成拒绝服务的风险。

为了降低风险,Node.js团队强烈建议所有用户尽快更新至最新的修补版本。具体如:

  • Node.js v20.19.2
  • Node.js v22.15.1
  • Node.js v23.11.1
  • Node.js v24.0.2

总之,随着网络安全问题日益严重,开发者和运维人员必须时刻关注系统的安全更新信息,并及时采取措施来保护系统不受潜在的安全威胁影响。特别是在此剧烈变化的技术环境中,许多攻击者正在寻找可乘之机,利用软件中的漏洞实施攻击。因此,保持软件的最新状态是提高安全性的关键,无论是使用开源工具如Node.js,还是其他任何系统和平台。在此,我们提醒用户关注公告,及时更新,并确保自己的应用环境在可接受的安全范围内,防止不必要的损失与干扰。保持警惕,持续学习,是应对网络安全挑战的重要手段。


[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (0)
游客
登录 | 注册 方可回帖
返回