Redis Software 发行说明 7.8.2-60(2024 年 12 月)

错误修复,包括修复导致cm_server并在升级到 Redis 软件版本 7.8.2-34 后阻止访问 Redis 软件集群管理器 UI。

Redis 企业软件

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

突出

此版本提供:

  • 错误修复,包括修复导致cm_server并在升级到 Redis 软件版本 7.8.2-34 后阻止访问 Redis 软件集群管理器 UI。

此版本中的新增功能

Redis 数据库版本

Redis 软件版本 7.8.2 包括三个 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 生命周期终止公告

已解决的问题

  • RS142899:修复了导致cm_server并在升级到 Redis 软件版本 7.8.2-34 后阻止访问集群管理器 UI。

  • RS126364:修复了 DMC 代理进程中的内存泄漏。

版本变更

支持的平台

下表提供了截至此 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 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.2-60 年 12 月版)
Ubuntu 20 的 c2913aaf2641273bd35ef3564b2e51b0911c3e3ef7b552735efd6372edc4425d
Red Hat Enterprise Linux (RHEL) 8 351b0bc249973d6fe93d3bb19f2dd1d2275128459e4542c052587341f883152f
Red Hat Enterprise Linux (RHEL) 9 361dad6fba36e5da3975ebf060d1ebe8bbb3839a2a22d11e98761667f497a6a2
Amazon Linux 2 bad3f9cff028a51b71c666e73fe5a2fd81ab863cce69f418d55e75a5faa24aa9

已知问题

  • 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 Software 7.8.2-60 支持开源 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)

为本页评分
返回顶部 ↑