Redis 企业软件发行说明 7.2.4-64(2023 年 9 月)
改进了使用手动上传的模块的集群恢复。支持包包含 supervisorctl 状态。使用 rladmin 和 REST API 配置端口范围。许可证API返回已使用的分片数量(RAM和闪存)。
Redis 企业软件 |
---|
这是 Redis Enterprise Software 版本 7.2.4 的维护版本。
突出
此版本提供:
-
使用手动上传的模块改进了集群恢复
-
支持包增强功能
-
可配置的端口范围
-
许可证 API 增强功能
此版本中的新增功能
增强
-
使用手动上传的模块进行集群恢复
- 对于包含具有手动上传模块的数据库的集群,集群恢复现在可以无缝集成。
-
支持包现在包含
supervisorctl
status 时由rladmin
命令(RS107879)。 -
端口范围 (
reserved_ports
) 现在可以使用rladmin
或 REST API 的 API 创建。- 删除
rlutil reserved_ports
,这在 Redis Enterprise Software 版本 7.2.4-52 中已弃用。
- 删除
-
许可证REST API请求返回已使用的分片数量(RAM和闪存)。
Redis 模块
Redis 企业软件版本 7.2.4-64 包括以下 Redis 堆栈模块(自 Redis 企业软件版本 7.2.4-52 以来没有变化):
已解决的问题
-
RS107986 - 使用配置审核时允许低于 1024 的端口
rladmin
. -
RS105335 - 添加了错误处理
CLIENT NO-TOUCH
如果 Redis 数据库版本低于 7.2.0 或命令受 ACL 规则限制(句柄CLIENT NO-TOUCH
命令限制)。 -
RS105137 - 修复了审核重新连接问题:有时代理无法重新连接到重新启动的审核侦听器。
-
RS108394 - 添加了 API 验证,以防止在不提供服务器证书的情况下使用 TLS 配置 Replica Of。
-
RS108233 - 继续升级,即使
saslauthd
配置存在。 -
RS107730 - 修复了
failed_authentication_attempt
事件日志始终包含 127.0.0.1,而不是真实的客户端 IP 地址。 -
RS107727 - 修复了 的权限问题
/etc/cron.d/redislabs
文件。 -
RS108230 - 从
redis-enterprise
包。 -
RS107718 - 时间
cm_server
通过以下方式禁用optional_services
,Envoy (集群的反向代理) 现在停止侦听cm_server
港口。 -
RS107909 - 已添加
os_family
,它将作系统分组到各个类别中,以对属性和升级逻辑进行节点。修复了以下作系统的升级和模块上传的已知限制:Rocky Linux、Oracle Linux 7、Oracle Linux 8、CentOS 7 和 CentOS 8。
版本变更
支持的平台
下表提供了截至此 Redis Enterprise Software 版本支持的平台的快照。有关作系统兼容性的更多详细信息,请参阅支持的平台参考。
✅ 支持 – 此版本的 Redis Enterprise Software 支持该平台。
⚠️已弃用 – 此版本的 Redis Enterprise Software 仍支持该平台,但在未来版本中将取消支持。
❌ 生命周期结束 – 平台支持在此版本的 Redis Enterprise Software 中结束。
Redis 企业版 | 7.2.4 | 6.4.2 | 6.2.18 | 6.2.12 | 6.2.10 | 6.2.8 | 6.2.4 |
---|---|---|---|---|---|---|---|
Ubuntu 浏览器1 | |||||||
20.04 | ✅ | ✅6 | – | – | – | – | – |
18.04 | ⚠️ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
16.04 | ❌ | ⚠️ | ✅ | ✅ | ✅ | ✅ | ✅ |
RHEL & CentOS2 | |||||||
8.8 | ✅ | – | – | – | – | – | – |
8.7 | ✅ | ✅ | – | – | – | – | – |
8.5-8.6 | ✅ | ✅ | ✅ | ✅ | ✅ | – | – |
8.0-8.4 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | – |
7.0-7.9 | ⚠️ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
甲骨文 Linux3 | |||||||
8 | ✅ | ✅ | ✅ | ✅ | ✅ | – | – |
7 | ⚠️ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
洛奇 Linux3 | |||||||
8 | ✅ | ✅ | ✅ | – | – | – | – |
Amazon Linux | |||||||
2 | ✅ | ✅7 | – | – | – | – | – |
1 | ⚠️ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
码头工人4 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Kubernetes (简体中文)5 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
-
RHEL 和 CentOS 部署需要 OpenSSL 1.0.2 和防火墙配置。
-
Redis Enterprise Software 的 Docker 映像仅经过认证,可用于开发和测试。
-
Ubuntu 20.04 支持已在 Redis Enterprise Software 6.4.2-43 中添加。
-
Redis Enterprise Software 6.4.2-61 中添加了 Amazon Linux 2 支持的候选版本。Redis Enterprise Software 6.4.2-69 中添加了对 Amazon Linux 2 的官方支持。
下载
下表显示了可用软件包的 MD5 校验和:
包 | MD5 校验和(7.2.4-64 9 月版) |
---|---|
Ubuntu 18 的 | eed1a8ba22a9eb2ae6e23d557961e9a7 |
Ubuntu 20 的 | 49b29512123fcd9dd402b53b380e8c78 |
RedHat Enterprise Linux (RHEL) 7 Oracle Enterprise Linux (OL) 7 |
d90a75b56fe1bc628d2ac27bc137af41 |
RedHat Enterprise Linux (RHEL) 8 Oracle Enterprise Linux (OL) 8 Rocky Enterprise Linux |
d9d98b0859b2d6fe8a7802cb6f44f132 |
Amazon Linux 2 | b9f1c99b39bb8084583b10d1546f80e1 |
安全
开源 Redis 安全修复兼容性
作为 Redis 安全承诺的一部分,Redis Enterprise Software 实施了开源 Redis 提供的最新安全修复程序。Redis Enterprise 已经包含了相关 CVE 的修复程序。
针对开源 Redis 宣布的一些 CVE 不会影响 Redis Enterprise,因为 Redis Enterprise 中提供的功能不同或附加,而开源 Redis 中不可用。
Redis Enterprise 7.2.4-64 版本支持开源的 Redis 7.2、6.2 和 6.0。以下是按版本修复的开源 Redis CVE 列表。
Redis 7.2.x:
-
(CVE-2023-41056 漏洞)在某些情况下,Redis 可能会错误地处理内存缓冲区的大小调整,这可能会导致缓冲区大小的计算不正确,并导致堆溢出和潜在的远程代码执行。
-
(CVE-2023-41053 漏洞)Redis 无法正确识别
SORT_RO
因此,可能会授予执行此命令的用户访问未由 ACL 配置明确授权的密钥的权限。(Redis 7.2.1)
Redis 7.0.x版本:
-
(CVE-2023-41056 漏洞)在某些情况下,Redis 可能会错误地处理内存缓冲区的大小调整,这可能会导致缓冲区大小的计算不正确,并导致堆溢出和潜在的远程代码执行。
-
(CVE-2023-41053 漏洞)Redis 无法正确识别
SORT_RO
因此,可能会授予执行此命令的用户访问未由 ACL 配置明确授权的密钥的权限。(Redis 7.0.13) -
(CVE-2023-36824 漏洞)在某些情况下,从命令和参数列表中提取键名称可能会触发堆溢出,并导致读取随机堆内存、堆损坏和可能的远程代码执行。具体来说:使用
COMMAND GETKEYS*
以及 ACL 规则中键名称的验证。(Redis 7.0.12) -
(CVE-2023-28856 漏洞)经过身份验证的用户可以使用
HINCRBYFLOAT
命令创建无效的哈希字段,该字段将在访问时使 Redis 崩溃。(Redis 7.0.11) -
(CVE-2023-28425 漏洞)特制
MSETNX
命令可能导致断言和拒绝服务。(Redis 7.0.10) -
(CVE-2023-25155 漏洞)特制
SRANDMEMBER
,ZRANDMEMBER
和HRANDFIELD
命令可能会触发整数溢出,从而导致运行时断言和终止 Redis 服务器进程。(Redis 7.0.9) -
(CVE-2023-22458 漏洞)Redis 中的整数溢出
HRANDFIELD
和ZRANDMEMBER
命令可能导致拒绝服务。(Redis 7.0.8) -
(CVE-2022-36021 漏洞)字符串匹配命令(如
SCAN
或KEYS
) 触发对 Redis 的拒绝服务攻击,导致其挂起并消耗 100% 的 CPU 时间。(Redis 7.0.9) -
(CVE-2022-35977 漏洞)Redis 中的整数溢出
SETRANGE
和SORT
/SORT_RO
命令可能会使 Redis 出现 OOM panic。(Redis 7.0.8) -
(CVE-2022-35951 漏洞)执行
XAUTOCLAIM
命令,并使用特制的COUNT
参数可能会导致整数溢出、后续堆溢出,并可能导致远程代码执行。此问题会影响 Redis 版本 7.0.0 或更高版本。(Redis 7.0.5) -
(CVE-2022-31144 漏洞)特制的
XAUTOCLAIM
命令可能会导致堆溢出,并可能远程执行代码。此问题会影响 Redis 版本 7.0.0 或更高版本。(Redis 7.0.4) -
(CVE-2022-24834 漏洞)在 Redis 中执行的特制 Lua 脚本可在 cjson 和 cmsgpack 库中触发堆溢出,并导致堆损坏和可能的远程代码执行。从 2.6 开始,所有支持 Lua 脚本的 Redis 版本都存在此问题,并且仅影响经过身份验证的用户和授权用户。(Redis 7.0.12)
-
(CVE-2022-24736 漏洞)尝试加载特制 Lua 脚本的攻击者可导致空指针取消引用,从而导致
redis-server
过程。此问题会影响 Redis 的所有版本。(Redis 7.0.0) -
(CVE-2022-24735 漏洞)通过利用 Lua 脚本执行环境中的弱点,有权访问 Redis 的攻击者可以注入 Lua 代码,该代码将以另一个 Redis 用户的(可能更高)权限执行。(Redis 7.0.0)
Redis 6.2.x:
-
(CVE-2023-28856 漏洞)经过身份验证的用户可以使用
HINCRBYFLOAT
命令创建无效的哈希字段,该字段将在访问时使 Redis 崩溃。(Redis 6.2.12) -
(CVE-2023-25155 漏洞)特制
SRANDMEMBER
,ZRANDMEMBER
和HRANDFIELD
命令可能会触发整数溢出,从而导致运行时断言和终止 Redis 服务器进程。(Redis 6.2.11) -
(CVE-2023-22458 漏洞)Redis 中的整数溢出
HRANDFIELD
和ZRANDMEMBER
命令可能导致拒绝服务。(Redis 6.2.9) -
(CVE-2022-36021 漏洞)字符串匹配命令(如
SCAN
或KEYS
) 触发对 Redis 的拒绝服务攻击,导致其挂起并消耗 100% 的 CPU 时间。(Redis 6.2.11) -
(CVE-2022-35977 漏洞)Redis 中的整数溢出
SETRANGE
和SORT
/SORT_RO
命令可能会使 Redis 出现 OOM panic。(Redis 6.2.9) -
(CVE-2022-24834 漏洞)在 Redis 中执行的特制 Lua 脚本可在 cjson 和 cmsgpack 库中触发堆溢出,并导致堆损坏和可能的远程代码执行。从 2.6 开始,所有支持 Lua 脚本的 Redis 版本都存在此问题,并且仅影响经过身份验证的用户和授权用户。(Redis 6.2.13)
-
(CVE-2022-24736 漏洞)尝试加载特制 Lua 脚本的攻击者可导致空指针取消引用,从而导致
redis-server
过程。此问题会影响 Redis 的所有版本。(Redis 6.2.7) -
(CVE-2022-24735 漏洞)通过利用 Lua 脚本执行环境中的弱点,有权访问 Redis 的攻击者可以注入 Lua 代码,该代码将以另一个 Redis 用户的(可能更高)权限执行。(Redis 6.2.7)
-
(CVE-2021-41099 漏洞)处理某些字符串命令和网络负载时出现整数到堆缓冲区溢出,当
proto-max-bulk-len
手动配置为非默认的非常大的值。(Redis 6.2.6) -
(CVE-2021-32762 漏洞)中的整数到堆缓冲区溢出问题
redis-cli
和redis-sentinel
在一些较旧和不太常见的平台上解析大型多批量回复。(Redis 6.2.6) -
(CVE-2021-32761 漏洞)Redis 版本 2.2 或更高版本中的整数溢出错误可使用
BITFIELD
命令来破坏堆,并可能导致远程代码执行。(Redis 6.2.5) -
(CVE-2021-32687 漏洞)整数到堆缓冲区溢出,当 intsets
set-max-intset-entries
手动配置为非默认的非常大的值。(Redis 6.2.6) -
(CVE-2021-32675 漏洞)在许多连接上处理具有大量元素的 RESP 请求负载时,拒绝服务。(Redis 6.2.6)
-
(CVE-2021-32672 漏洞)Lua 调试器的随机堆读取问题。(Redis 6.2.6)
-
(CVE-2021-32628 漏洞)当为
hash-max-ziplist-entries
,hash-max-ziplist-value
,zset-max-ziplist-entries
或zset-max-ziplist-value
.(Redis 6.2.6) -
(CVE-2021-32627 漏洞)当为
proto-max-bulk-len
和client-query-buffer-limit
.(Redis 6.2.6) -
(CVE-2021-32626 漏洞)特别构建的 Lua 脚本可能会导致堆缓冲区溢出。(Redis 6.2.6)
-
(CVE-2021-32625 漏洞)使用 STRALGO LCS 命令可以利用 Redis 版本 6.0 或更高版本中的整数溢出错误来破坏堆,并可能导致远程代码执行。这是 CVE-2021-29477 修复不完整的结果。(Redis 6.2.4)
-
(CVE-2021-29478 漏洞)Redis 6.2 中的整数溢出错误可能被利用来破坏堆,并可能导致远程代码执行。该漏洞涉及更改默认的 set-max-intset-entries 配置值,创建一个由整数值组成的大型 set 键,并使用 COPY 命令复制它。从 2.6 开始的所有 Redis 版本都存在整数溢出错误,它可能导致 RDB 或 DUMP 有效负载损坏,但不会通过 COPY(在 6.2 之前不存在)利用。(Redis 6.2.3)
-
(CVE-2021-29477 漏洞)使用 STRALGO LCS 命令,可以利用 Redis 版本 6.0 或更高版本中的整数溢出错误来破坏堆,并可能导致远程代码执行。从 6.0 开始的所有 Redis 版本都存在整数溢出错误。(Redis 6.2.3)
Redis 6.0.x:
-
(CVE-2022-24834 漏洞)在 Redis 中执行的特制 Lua 脚本可在 cjson 和 cmsgpack 库中触发堆溢出,并导致堆损坏和可能的远程代码执行。从 2.6 开始,所有支持 Lua 脚本的 Redis 版本都存在此问题,并且仅影响经过身份验证的用户和授权用户。(Redis 6.0.20)
-
(CVE-2023-28856 漏洞)经过身份验证的用户可以使用
HINCRBYFLOAT
命令创建无效的哈希字段,该字段将在访问时使 Redis 崩溃。(Redis 6.0.19) -
(CVE-2023-25155 漏洞)特制
SRANDMEMBER
,ZRANDMEMBER
和HRANDFIELD
命令可能会触发整数溢出,从而导致运行时断言和终止 Redis 服务器进程。(Redis 6.0.18) -
(CVE-2022-36021 漏洞)字符串匹配命令(如
SCAN
或KEYS
) 触发对 Redis 的拒绝服务攻击,导致其挂起并消耗 100% 的 CPU 时间。(Redis 6.0.18) -
(CVE-2022-35977 漏洞)Redis 中的整数溢出
SETRANGE
和SORT
/SORT_RO
命令可能会使 Redis 出现 OOM panic。(Redis 6.0.17)