Redis 企业版软件发布说明 7.2.4-64 (2023年9月)
改进了手动上传模块的集群恢复功能。支持包包含supervisorctl状态。使用rladmin和REST API配置端口范围。许可证API返回使用的分片数量(RAM和闪存)。
这是Redis Enterprise Software 版本 7.2.4的维护版本。
亮点
此版本提供:
-
通过手动上传模块改进了集群恢复
-
支持包增强
-
可配置的端口范围
-
许可证API增强
此版本中的新内容
增强功能
-
使用手动上传的模块进行集群恢复
- 对于包含手动上传模块的数据库的集群,集群恢复现已无缝集成。
-
支持包现在包含由
rladmin
命令创建时的supervisorctl
状态(RS107879)。 -
端口范围 (
reserved_ports
) 现在可以使用rladmin
或 REST API 进行配置。- 移除了
rlutil reserved_ports
,该功能在 Redis Enterprise Software 版本 7.2.4-52 中已被弃用。
- 移除了
-
License REST API requests 返回已使用的分片数量(RAM 和闪存)。
Redis 模块
Redis Enterprise Software 版本 7.2.4-64 包含以下 Redis Stack 模块(自 Redis Enterprise Software 版本 7.2.4-52 以来无变化):
已解决的问题
-
RS107986 - 在使用
rladmin
配置auditing时,允许使用低于1024的端口。 -
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 - 修复了Red Hat中
/etc/cron.d/redislabs
文件的权限问题。 -
RS108230 - 从
redis-enterprise
包中移除了未使用的测试证书和密钥文件。 -
RS107718 - 当通过
optional_services
禁用cm_server
时,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 Enterprise | 7.2.4 | 6.4.2 | 6.2.18 | 6.2.12 | 6.2.10 | 6.2.8 | 6.2.4 |
---|---|---|---|---|---|---|---|
Ubuntu1 | |||||||
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 | ⚠️ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Oracle Linux3 | |||||||
8 | ✅ | ✅ | ✅ | ✅ | ✅ | – | – |
7 | ⚠️ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Rocky Linux3 | |||||||
8 | ✅ | ✅ | ✅ | – | – | – | – |
Amazon Linux | |||||||
2 | ✅ | ✅7 | – | – | – | – | – |
1 | ⚠️ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Docker4 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
Kubernetes5 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
-
RHEL 和 CentOS 部署需要 OpenSSL 1.0.2 和 防火墙配置。
-
Docker images 的 Redis Enterprise Software 仅被认证用于开发和测试。
-
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 九月发布) |
---|---|
Ubuntu 18 | eed1a8ba22a9eb2ae6e23d557961e9a7 |
Ubuntu 20 | 49b29512123fcd9dd402b53b380e8c78 |
红帽企业版 Linux (RHEL) 7 甲骨文企业版 Linux (OL) 7 |
d90a75b56fe1bc628d2ac27bc137af41 |
红帽企业版 Linux (RHEL) 8 甲骨文企业版 Linux (OL) 8 Rocky 企业版 Linux |
d9d98b0859b2d6fe8a7802cb6f44f132 |
亚马逊Linux 2 | b9f1c99b39bb8084583b10d1546f80e1 |
安全
开源Redis安全修复兼容性
作为Redis对安全的承诺的一部分,Redis企业软件实施了最新的安全修复,这些修复与开源Redis一起提供。Redis企业版已经包含了相关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 崩溃。(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库中的堆溢出,导致堆损坏并可能实现远程代码执行。该问题存在于所有支持Lua脚本的Redis版本中,从2.6开始,仅影响经过身份验证和授权的用户。(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 崩溃。(Redis 6.2.9) -
(CVE-2022-24834) 在Redis中执行特制的Lua脚本可以触发cjson和cmsgpack库中的堆溢出,导致堆损坏并可能执行远程代码。该问题存在于所有支持Lua脚本的Redis版本中,从2.6开始,仅影响经过身份验证和授权的用户。(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) 当手动配置
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) 在处理ziplist编码的数据类型时,整数到堆缓冲区溢出,当为
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) Redis 6.0 或更新版本中的一个整数溢出漏洞可以通过使用 STRALGO LCS 命令来利用,导致堆损坏并可能实现远程代码执行。这是 CVE-2021-29477 的不完全修复的结果。(Redis 6.2.4)
-
(CVE-2021-29478) Redis 6.2 中的一个整数溢出漏洞可能被利用来破坏堆,并可能导致远程代码执行。该漏洞涉及更改默认的 set-max-intset-entries 配置值,创建一个由整数值组成的大集合键,并使用 COPY 命令复制它。该整数溢出漏洞存在于从 2.6 版本开始的所有 Redis 版本中,可能导致损坏的 RDB 或 DUMP 负载,但不能通过 COPY 利用(在 6.2 之前不存在)。(Redis 6.2.3)
-
(CVE-2021-29477) Redis 6.0 或更新版本中的一个整数溢出漏洞可能被利用,通过 STRALGO LCS 命令破坏堆,并可能导致远程代码执行。该整数溢出漏洞存在于从 6.0 开始的所有 Redis 版本中。(Redis 6.2.3)
Redis 6.0.x:
-
(CVE-2022-24834) 在Redis中执行特制的Lua脚本可以触发cjson和cmsgpack库中的堆溢出,导致堆损坏并可能执行远程代码。该问题存在于所有支持Lua脚本的Redis版本中,从2.6开始,并且仅影响经过身份验证和授权的用户。(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 崩溃。(Redis 6.0.17)