Redis Software 发行说明 7.8.4-95(2025 年 3 月)

修复了升级期间服务器重启失败、可选服务的连接检查、交换分片状态和看门狗状态值的错误修复rladmin、进程导出程序崩溃以及启用了 OSS 集群 API 的主动-主动数据库的 syncer 问题。

Redis 企业软件

这是 Redis 软件版本 7.8.4 的维护版本。

突出

此版本提供:

  • 修复了升级期间服务器重启失败、可选服务的连接检查、交换分片状态和看门狗状态值的错误修复rladmin、进程导出程序崩溃以及启用了 OSS 集群 API 的主动-主动数据库的 syncer 问题

此版本中的新增功能

Redis 数据库版本

Redis 软件版本 7.8.4 包括三个 Redis 数据库版本:7.4、7.2 和 6.2。

默认 Redis 数据库版本为 7.4。

Redis 模块功能集

Redis 软件附带多个模块。截至 7.8.2 版,Redis 软件包括三个功能集,与不同的 Redis 数据库版本兼容。

下表显示了哪些 Redis 模块与此版本中包含的每个 Redis 数据库版本兼容。

Redis 数据库版本 兼容的 Redis 模块
7.4 RediSearch 2.10
RedisJSON 2.8
RedisTimeSeries 1.12
RedisBloom 2.8
7.2 RediSearch 2.8
RedisJSON 2.6
RedisTimeSeries 1.10
RedisBloom 2.6
6.2 RediSearch 2.6
RedisJSON 2.4
RedisTimeSeries 1.8
RedisBloom 2.4
RedisGraph v2.10
1
  1. RedisGraph 的生命周期已宣布终止,并将在未来版本中删除。有关更多详细信息,请参阅 RedisGraph 生命周期终止公告

已解决的问题

  • RS134225:修复了在集群升级期间由于超时而服务器重启可能失败的问题。

  • RS138625:修复了rlcheck报道verify_tcp_connectivity对于未启用的可选服务,为 failed 而不是跳过检查。

  • RS146525:修复了rladmin status交换分片的 IssueSTATUSWATCHDOG_STATUS值。

  • RS143339:修复了不明确的路径可能导致进程导出器崩溃并显示错误 ”flag provided but not defined: -remove-empty-groups".

  • RS150588:修复了在启用 OSS 集群 API 时可能导致主动-主动数据库出现数据不一致或丢失的同步器问题。

版本变更

支持的平台

下表提供了截至此 Redis Software 版本支持的平台的快照。有关作系统兼容性的更多详细信息,请参阅支持的平台参考

支持 – 此版本的 Redis 软件和 Redis Stack 模块支持该平台。

⚠️弃用警告 – 此版本的 Redis 软件仍支持该平台,但在将来的版本中将取消支持。

Redis Software
主要版本
7.8 7.4 7.2 6.4 6.2
发布日期 2024 年 11 月 2024 年 2 月 2023 年 8 月 2023 年 2 月 2021 年 8 月
生命周期结束日期 在下一个主要版本之后
确定
2026 年 11 月 2026 年 2 月 2025 年 8 月 2025 年 2 月
平台
RHEL 9 和
兼容的发行版
1
RHEL 9
FIPS 模式
5
RHEL 8 和
兼容的发行版
1
RHEL 7 和
兼容的发行版
1
⚠️
Ubuntu 22.04 版本2
Ubuntu 20.04 版本2
Ubuntu 18.04 版本2 ⚠️ ⚠️
Ubuntu 16.04 版本2 ⚠️
Amazon Linux 2
亚马逊 Linux 1
Kubernetes (简体中文)3
码头工人4
  1. 如果 RHEL 兼容发行版 CentOS、CentOS Stream、Alma 和 Rocky 具有完全的 RHEL 兼容性,则支持它们。支持运行 Red Hat 兼容内核 (RHCK) 的 Oracle Linux,但不支持 Unbreakable Enterprise Kernel (UEK)。

  2. 建议将 Ubuntu 的服务器版本用于生产安装。桌面版本仅建议用于开发部署。

  3. 有关每个版本和 Kubernetes 发行版的支持的详细信息,请参阅 Redis Enterprise for Kubernetes 文档

  4. Redis Software 的 Docker 映像仅经过认证,可用于开发和测试。

  5. 仅当在 RHEL 安装期间启用了 FIPS 以确保 FIPS 合规性时,才受支持。

下载

下表显示了可用程序包的 SHA256 校验和:

SHA256 校验和(7.8.4-95 年 3 月版本)
Ubuntu 20 的 f7b98686e0b0a6dd72cef0c59b0d5a6126e716251e8606df2e0296e714e89854
Ubuntu 22 的 b2bda6ed49edcae32cac5bf67dcdcc3fc1baca47945b3c0a9e7c5a11bee4839f
Red Hat Enterprise Linux (RHEL) 8 cecaa7aa9db1a2b93b91389bd7b5958af26d2cfb5c4fc5d393dbc83370156aad
Red Hat Enterprise Linux (RHEL) 9 8f62996176ba58a073b66c0623f3a280c7fe0f25358d727df375021354d4464f
Amazon Linux 2 baea0cdada0ac42d38035b8ca826eabc2077256e2633b8cea5ff5010ff0ac53d

已知问题

  • RS131972:在集群管理器 UI 中创建包含换行符的 ACL 可能会因 ACL 错误而导致分片迁移失败。

已知限制

在作系统升级之前上传模块

如果集群包含任何使用模块的数据库,则必须在升级集群的作系统之前将目标作系统版本的模块包上传到现有集群中的节点。

有关详细的升级说明,请参阅升级集群的作系统

新的 Cluster Manager UI 限制

以下旧版 UI 功能在新的 Cluster Manager UI 中尚不可用:

RedisGraph 阻止升级到 RHEL 9

如果 Redis Software 集群包含 RedisGraph 模块,则无法从以前的 RHEL 版本升级到 RHEL 9,即使任何数据库未使用也是如此。RedisGraph 模块已达到生命周期结束,在 RHEL 9 中完全不可用。

查询结果可能包括具有延迟过期字段的哈希键

如果哈希密钥的一个或多个字段在FT.SEARCHFT.AGGREGATEquery 开始,Redis 不考虑这些延迟过期的字段。因此,字段过期的键可能仍包含在查询结果中,从而导致结果可能不正确或不一致。

安全

开源 Redis 安全修复兼容性

作为 Redis 安全承诺的一部分,Redis Software 实施了开源 Redis 提供的最新安全修复程序。Redis Software 已经包含了相关 CVE 的修复程序。

针对开源 Redis 宣布的某些 CVE 不会影响 Redis Software,因为 Redis Software 中提供的功能不同或附加,而开源 Redis 中没有。

Redis 软件 7.8.4-95 支持开源的 Redis 7.4、7.2 和 6.2。以下是按版本修复的开源 Redis CVE 列表。

Redis 7.2.x:

  • (CVE-2024-31449 漏洞)经过身份验证的用户可能使用特制的 Lua 脚本在位库中触发堆栈缓冲区溢出,这可能导致远程代码执行。

  • (CVE-2024-31228 漏洞)经过身份验证的用户可以通过对支持的命令(如KEYS,SCAN,PSUBSCRIBE,FUNCTION LIST,COMMAND LIST和 ACL 定义。匹配极长的模式可能会导致无限递归,从而导致堆栈溢出和进程崩溃。

  • (CVE-2023-41056 漏洞)在某些情况下,Redis 可能会错误地处理内存缓冲区的大小调整,这可能会导致缓冲区大小的计算不正确,并导致堆溢出和潜在的远程代码执行。

  • (CVE-2023-41053 漏洞)Redis 无法正确识别SORT_RO因此,可能会授予执行此命令的用户访问未由 ACL 配置明确授权的密钥的权限。(Redis 7.2.1)

Redis 7.0.x版本:

  • (CVE-2024-31449 漏洞)经过身份验证的用户可能使用特制的 Lua 脚本在位库中触发堆栈缓冲区溢出,这可能导致远程代码执行。

  • (CVE-2024-31228 漏洞)经过身份验证的用户可以通过对支持的命令(如KEYS,SCAN,PSUBSCRIBE,FUNCTION LIST,COMMAND LIST和 ACL 定义。匹配极长的模式可能会导致无限递归,从而导致堆栈溢出和进程崩溃。

  • (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,ZRANDMEMBERHRANDFIELD命令可能会触发整数溢出,从而导致运行时断言和终止 Redis 服务器进程。(Redis 7.0.9)

  • (CVE-2023-22458 漏洞)Redis 中的整数溢出HRANDFIELDZRANDMEMBER命令可能导致拒绝服务。(Redis 7.0.8)

  • (CVE-2022-36021 漏洞)字符串匹配命令(如SCANKEYS) 触发对 Redis 的拒绝服务攻击,可导致其挂起并消耗 100% 的 CPU 时间。(Redis 7.0.9)

  • (CVE-2022-35977 漏洞)Redis 中的整数溢出SETRANGESORT/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-2024-31449 漏洞)经过身份验证的用户可能使用特制的 Lua 脚本在位库中触发堆栈缓冲区溢出,这可能导致远程代码执行。

  • (CVE-2024-31228 漏洞)经过身份验证的用户可以通过对支持的命令(如KEYS,SCAN,PSUBSCRIBE,FUNCTION LIST,COMMAND LIST和 ACL 定义。匹配极长的模式可能会导致无限递归,从而导致堆栈溢出和进程崩溃。

  • (CVE-2023-28856 漏洞)经过身份验证的用户可以使用HINCRBYFLOAT命令创建无效的哈希字段,该字段将在访问时使 Redis 崩溃。(Redis 6.2.12)

  • (CVE-2023-25155 漏洞)特制SRANDMEMBER,ZRANDMEMBERHRANDFIELD命令可能会触发整数溢出,从而导致运行时断言和终止 Redis 服务器进程。(Redis 6.2.11)

  • (CVE-2023-22458 漏洞)Redis 中的整数溢出HRANDFIELDZRANDMEMBER命令可能导致拒绝服务。(Redis 6.2.9)

  • (CVE-2022-36021 漏洞)字符串匹配命令(如SCANKEYS) 触发对 Redis 的拒绝服务攻击,可导致其挂起并消耗 100% 的 CPU 时间。(Redis 6.2.11)

  • (CVE-2022-35977 漏洞)Redis 中的整数溢出SETRANGESORT/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-cliredis-sentinel在一些较旧和不太常见的平台上解析大型多批量回复。(Redis 6.2.6)

  • (CVE-2021-32761 漏洞)Redis 版本 2.2 或更高版本中的整数溢出错误可使用BITFIELD命令来破坏堆,并可能导致远程代码执行。(Redis 6.2.5)

  • (CVE-2021-32687 漏洞)整数到堆缓冲区溢出,当 intsetsset-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-entrieszset-max-ziplist-value.(Redis 6.2.6)

  • (CVE-2021-32627 漏洞)当为proto-max-bulk-lenclient-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)

为本页评分
返回顶部 ↑