Ubuntu 16.04 ESM / 18.04 ESM / 20.04 ESM:Redis 漏洞 (USN-5221-1)

high Nessus 插件 ID 183135

简介

远程 Ubuntu 主机缺少一个或多个安全更新。

描述

远程 Ubuntu 16.04 ESM / 18.04 ESM / 20.04 ESM 主机上安装的多个程序包受到 USN-5221-1 公告中提及的多个漏洞影响。

- Redis 是一个持续存在于磁盘上的开源内存中数据库。在受影响的版本中,在 Redis 中执行特别构建的 Lua 脚本会导致基于堆的 Lua 堆栈溢出,原因是对此情况的检查不完整。这会导致堆损坏,并可能导致远程代码执行。
此问题存在于具有 Lua 脚本支持的所有 Redis 版本(从 2.6 开始)中。此问题已在版本 6.2.6、6.0.16 和 5.0.14 中修复。对于无法更新的用户,在不修补 redis-server 可执行文件的情况下缓解该问题的其他变通方案是阻止用户执行 Lua 脚本。这可通过使用 ACL 限制 EVAL 和 EVALSHA 命令来实现。(CVE-2021-32626)

- Redis 是一个持续存在于磁盘上的开源内存中数据库。在受影响的版本中,可以利用 Redis 中的整数溢出缺陷来损坏堆,并可能导致远程代码执行。该漏洞涉及将默认的 proto-max-bulk-len 和 client-query-buffer-limit 配置参数更改为非常大的值,然后构造特别构建的非常大的流元素。此问题已在 Redis 6.2.6、6.0.16 和 5.0.14 中修复。对于无法升级的用户,在不修补 redis-server 可执行文件的情况下缓解该问题的其他变通方案是阻止用户修改 proto-max-bulk-len 配置参数。这可通过使用 ACL 限制非特权用户使用 CONFIG SET 命令来实现。(CVE-2021-32627)

- Redis 是一个持续存在于磁盘上的开源内存中数据库。可以利用所有 Redis 版本使用的 ziplist 数据结构中的整数溢出缺陷来损坏堆,并可能导致远程代码执行。该漏洞涉及将默认的 ziplist 配置参数(hash-max-ziplist-entries、hash-max-ziplist-value、zset-max-ziplist-entries 或 zset-max-ziplist-value)修改为非常大的值,然后构造特别构建的命令以创建非常大的 ziplist。此问题已在 Redis 版本 6.2.6、6.0.16 和 5.0.14 中修复。在不修补 redis-server 可执行文件的情况下缓解该问题的其他变通方案是阻止用户修改上述配置参数。这可通过使用 ACL 限制非特权用户使用 CONFIG SET 命令来实现。(CVE-2021-32628)

- Redis 是一个持续存在于磁盘上的开源内存中数据库。使用 Redis Lua Debugger 时,用户可以发送畸形请求,造成调试器的协议解析器读取实际缓冲区之外的数据。此问题会影响具有 Lua 调试支持的所有 Redis 版本(3.2 或更高版本)。已在版本 6.2.6、6.0.16 和 5.0.14 中修复此问题。(CVE-2021-32672)

- Redis 是一个持续存在于磁盘上的开源内存中数据库。解析传入的 Redis 标准协议 (RESP) 请求时,Redis 根据用户指定的值分配内存,这些值决定元素的数量(在多批量标头中)和每个元素的大小(在批量标头中)。通过多个连接传递特别构建的请求的攻击者可导致服务器分配大量内存。由于使用相同的解析机制来处理身份验证请求,因此未经身份验证的用户也可利用此漏洞。此问题已在 Redis 版本 6.2.6、6.0.16 和 5.0.14 中修复。在不修补 redis-server 可执行文件的情况下缓解该问题的其他变通方案是阻止访问,以阻止未经身份验证的用户连接到 Redis。这可以通过几种不同的方法实现:使用防火墙、iptables 和安全组等网络访问控制工具,或启用 TLS 并要求用户使用客户端证书进行身份验证。
(CVE-2021-32675)

- Redis 是一个持续存在于磁盘上的开源内存中数据库。可以利用影响所有 Redis 版本的整数溢出缺陷来损坏堆,并可能用于泄漏堆的任意内容或触发远程代码执行。该漏洞涉及将默认的 set-max-intset-entries 配置参数更改为非常大的值,然后构造特别构建的命令以操纵集。此问题已在 Redis 版本 6.2.6、6.0.16 和 5.0.14 中修复。在不修补 redis-server 可执行文件的情况下缓解该问题的其他变通方案是阻止用户修改 set-max-intset-entries 配置参数。这可通过使用 ACL 限制非特权用户使用 CONFIG SET 命令来实现。(CVE-2021-32687)

- Redis 是一个持续存在于磁盘上的开源内存中数据库。可以利用基础字符串库中的整数溢出缺陷来损坏堆,并可能导致拒绝服务或远程代码执行。该漏洞涉及将默认的 proto-max-bulk-len 配置参数更改为非常大的值,然后构造特别构建的网络有效负载或命令。此问题已在 Redis 版本 6.2.6、6.0.16 和 5.0.14 中修复。在不修补 redis-server 可执行文件的情况下缓解该问题的其他变通方案是阻止用户修改 proto-max-bulk-len 配置参数。这可通过使用 ACL 限制非特权用户使用 CONFIG SET 命令来实现。(CVE-2021-41099)

- Redis 是一个持续存在于磁盘上的内存中数据库。自版本 2.2 开始,以及在 5.0.13、6.0.15 和 6.2.5 之前的版本中,存在一个涉及越界读取和整数溢出的漏洞。在 32 位系统上,Redis“*BIT*”命令容易受到整数溢出漏洞的影响,此漏洞可能会被用来损坏堆、泄漏任意堆内容或触发远程代码执行。该漏洞涉及将默认的“proto-max-bulk-len”配置参数更改为极大值,然后构造特别构建的命令位命令。此问题仅影响 32 位平台上或编译为 32 位二进制的 Redis。Redis 版本 5.0.`3m 6.0.15 和 6.2.5 包含针对此问题的修补程序。在不修补“redis-server”可执行文件的情况下缓解该问题的其他变通方案是阻止用户修改“proto-max-bulk-len”配置参数。这可通过使用 ACL 限制非特权用户使用 CONFIG SET 命令来实现。
(CVE-2021-32761)

- Redis 是一个持续存在于磁盘上的开源内存中数据库。在受影响的 Redis 版本中,可以利用 32 位 Redis 版本 4.0 或更新版本中的整数溢出缺陷来损坏堆,并可能导致远程代码执行。Redis 4.0 或更新版本针对支持的最大批量输入大小使用可配置的限值。默认情况下,此限值为 512MB,这对于所有平台来说都是一个安全值。如果此限值大幅提升,则从客户端接收大型请求可能会触发多个整数溢出场景,从而导致缓冲区溢出和堆损坏。我们认为在某些情况下,此问题会被用于执行远程代码。默认情况下,经过身份验证的 Redis 用户有权访问所有配置参数,因此可以使用 CONFIG SET proto-max-bulk-len 更改安全默认值,从而使系统容易遭受攻击。**此问题仅影响 32 位 Redis(在 32 位系统上,或作为在 64 位系统上运行的 32 位可执行文件)。**此问题已在版本 6.2 中得到修复,并且修复程序已向后移植到 6.0.11 和 5.0.11 版本。如果您运行的是 32 位 Redis,请确保使用这些版本之一。另一个在未修补 redis-server 可执行文件的情况下缓解问题的变通方案是,防止客户端直接执行 CONFIG SET`: 若使用 Redis 6.0 或更新版本,可以使用 ACL 配置来阻止该命令。使用较旧版本时,可以使用 `rename-command` 配置指令将命令重命名为用户不知道的随机字符串,从而使其无法访问。请注意,此变通方案可能会对期望 `CONFIG SET` 以特定方式运行的用户或操作系统产生额外影响。(CVE-2021-21309)

请注意,Nessus 尚未测试这些问题,而是只依据应用程序自我报告的版本号进行判断。

解决方案

更新受影响的程序包。

另见

https://ubuntu.com/security/notices/USN-5221-1

插件详情

严重性: High

ID: 183135

文件名: ubuntu_USN-5221-1.nasl

版本: 1.2

类型: local

代理: unix

发布时间: 2023/10/16

最近更新时间: 2023/12/22

支持的传感器: Frictionless Assessment AWS, Frictionless Assessment Azure, Frictionless Assessment Agent, Nessus Agent, Agentless Assessment, Nessus

风险信息

VPR

风险因素: Medium

分数: 6.7

CVSS v2

风险因素: Medium

基本分数: 6.5

时间分数: 4.8

矢量: CVSS2#AV:N/AC:L/Au:S/C:P/I:P/A:P

CVSS 分数来源: CVE-2021-32626

CVSS v3

风险因素: High

基本分数: 8.8

时间分数: 7.7

矢量: CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H

时间矢量: CVSS:3.0/E:U/RL:O/RC:C

漏洞信息

CPE: cpe:/o:canonical:ubuntu_linux:16.04:-:esm, cpe:/o:canonical:ubuntu_linux:18.04:-:esm, cpe:/o:canonical:ubuntu_linux:20.04:-:esm, p-cpe:/a:canonical:ubuntu_linux:redis, p-cpe:/a:canonical:ubuntu_linux:redis-sentinel, p-cpe:/a:canonical:ubuntu_linux:redis-server, p-cpe:/a:canonical:ubuntu_linux:redis-tools

必需的 KB 项: Host/cpu, Host/Debian/dpkg-l, Host/Ubuntu, Host/Ubuntu/release

易利用性: No known exploits are available

补丁发布日期: 2022/8/3

漏洞发布日期: 2021/2/26

参考资料信息

CVE: CVE-2021-21309, CVE-2021-32626, CVE-2021-32627, CVE-2021-32628, CVE-2021-32672, CVE-2021-32675, CVE-2021-32687, CVE-2021-32761, CVE-2021-41099

USN: 5221-1