摘要:
nodejs security update
安全等级: High
公告ID: KylinSec-SA-2024-3835
发布日期: 2024年9月27日
关联CVE: CVE-2023-46809 CVE-2024-27982 CVE-2024-22025 CVE-2024-22019 CVE-2024-27983
Node.js 是一个开源的、跨平台的 JavaScript 运行时环境,它可以在浏览器外部执行 JavaScript 代码。
安全修复:
如果 Node.js 版本捆绑了未修复的 OpenSSL 版本,或者在与未修复的 OpenSSL 动态链接版本一起运行时,它们可能会受到 Marvin 攻击(https://people.redhat.com/~hkario/marvin/)的影响,前提是在使用私钥执行 RSA 解密时允许使用 PKCS #1 v1.5 填充。(CVE-2023-46809)
Node.js HTTP 服务器中的一个漏洞允许攻击者发送一个特制的、使用分块编码的 HTTP 请求,从而导致资源耗尽和拒绝服务(DoS)。服务器会从单个连接中读取无限制数量的字节,利用了分块扩展字节缺乏限制的问题。这个问题会导致 CPU 和网络带宽耗尽,绕过超时和请求体大小限制等标准防护措施。(CVE-2024-22019)
在 Node.js 中发现了一个漏洞,当使用 fetch() 函数从不受信任的 URL 检索内容时,可能会导致资源耗尽的拒绝服务(DoS)攻击。
该漏洞源于 Node.js 中的 fetch() 函数总是解码 Brotli,这使得攻击者可以通过从不受信任的 URL 获取内容来耗尽资源。
控制传递给 fetch() 的 URL 的攻击者可以利用此漏洞来耗尽内存,根据系统配置,这可能会导致进程终止。(CVE-2024-22025)
团队在最新版本的 Node.js 的 HTTP 服务器中发现了一个严重漏洞,其中格式错误的头部可能会导致 HTTP 请求走私。具体来说,如果在 content-length 头部之前放置一个空格,它就不会被正确解释,从而使攻击者能够在第一个请求的主体中偷偷加入第二个请求。(CVE-2024-27982)
攻击者可以通过发送包含少量 HTTP/2 帧的数据包,使 Node.js HTTP/2 服务器完全不可用。当向服务器发送带有 HTTP/2 CONTINUATION 帧的头部,然后客户端突然关闭 TCP 连接,在头部帧仍在处理(并存储在内存中)时触发 Http2Session 析构函数时,可能会在 nghttp2 内存中留下一些数据,从而导致竞态条件。(CVE-2024-27983)
cve名称 | 产品 | 组件 | 是否受影响 |
---|
方法一:下载安装包进行升级安装
1、通过下载链接下载需要升级的升级包保存,如 xxx.rpm
2、通过rpm命令升级,如 rpm -Uvh xxx.rpm
方法二:通过软件源进行升级安装
1、保持能够连接上互联网
2、通过yum命令升级指定的包,如 yum install 包名