Redis Enterprise Software release notes 7.4.6-22 (July 2024)
Support for SHA-384 certificates in client authentication. New parameters for optimize_shard_placement and recover database REST API requests.
Redis Enterprise Software version 7.4.6 is now available! This release includes API enhancements that warranted a new minor version instead of a maintenance release for version 7.4.2. However, you can upgrade from 7.4.2 to 7.4.6 without issue.
Highlights
This version offers:
-
Support for SHA-384 certificates in client authentication
-
New parameters for
optimize_shard_placement
andrecover
database REST API requests
New in this release
Enhancements
-
Added support for SHA-384 certificates when using mutual TLS for client authentication.
-
Added an option to the optimize_shards_placement REST API request to consider replication when calculating the database’s optimized shard placement.
-
Added
shard_uid
andshard_role
for each persistence file in the response body of the recover REST API request. When the database has master_persistence enabled, these fields help identify the primary shard's persistence file, which is most up-to-date and recommended for recovery.
Redis module feature sets
Redis Enterprise comes packaged with several modules. As of version 7.4.2, Redis Enterprise includes two feature sets, compatible with different Redis database versions.
Bundled Redis modules compatible with Redis database version 7.2:
-
RedisGears 2.0.20 preview: The RedisGears preview will not be promoted to GA and will be removed in a future release.
Bundled Redis modules compatible with Redis database versions 6.0 and 6.2:
-
RedisGraph v2.10.15: RedisGraph end-of-life has been announced and will be removed in a future release. See the RedisGraph end-of-life announcement for more details.
Resolved issues
-
RS118231: Fixed an issue where configuration changes to
slave_buffer
failed due to shard connection issues but incorrectly reported success. -
RS117757: Increased the number of connections reserved for admin clients to 64 to prevent connection limit issues.
-
RS129900: Fixed an issue that prevented creating a database with modules that were uploaded during a cluster upgrade.
-
RS128254: Fixed a TLS protocol version compatibility issue with cluster upgrades by setting new nodes to TLS protocol version 1.2 if the cluster's current TLS protocol version is no longer supported.
-
RS125593: Added validation to verify the LDAP server URI contains a host and port when updating LDAP configuration.
Version changes
- Added validation to verify the LDAP server URI contains a host and port when updating LDAP configuration.
Product lifecycle updates
End-of-life policy extension
The end-of-life policy for Redis Enterprise Software versions 6.2 and later has been extended to 24 months after the formal release of the subsequent major version. For the updated end-of-life schedule, see the Redis Enterprise Software product lifecycle.
Supported upgrade paths
Redis Enterprise Software versions 6.2.4 and 6.2.8 do not support direct upgrades beyond version 7.4.x. Versions 6.2.10, 6.2.12, and 6.2.18 are part of the upgrade path. To upgrade from 6.2.4 or 6.2.8 to versions later than 7.4.x, an intermediate upgrade is required.
The next major Redis Enterprise Software release will still bundle Redis database version 6.2 and allow database upgrades from Redis database version 6.2 to 7.x.
See the Redis Enterprise Software product lifecycle for more information about release numbers.
Deprecations
Legacy UI deprecation
The legacy UI is deprecated in favor of the new Cluster Manager UI and will be removed in a future release.
Redis 6.0 database deprecation
Redis database version 6.0 is deprecated as of Redis Enterprise Software version 7.4.2 and will be removed in a future release.
To prepare for the future removal of Redis 6.0:
-
For Redis Enterprise 6.2.* clusters, upgrade Redis 6.0 databases to Redis 6.2. See the Redis 6.2 release notes for the list of changes.
-
For Redis Enterprise 7.2.4 and 7.4.2 clusters, upgrade Redis 6.0 databases to Redis 7.2. Before you upgrade your databases, see the list of Redis 7.2 breaking changes and update any applications that connect to your database to handle these changes.
Upcoming changes
Default image change for Redis Enterprise Software containers
Starting with version 7.6, Redis Enterprise Software containers with the image tag x.y.z-build
will be based on RHEL instead of Ubuntu.
This change will only affect you if you use containers outside the official Redis Enterprise for Kubernetes product and use Ubuntu-specific commands.
To use Ubuntu-based images after this change, you can specify the operating system suffix in the image tag. For example, use the image tag 7.4.2-216.focal
instead of 7.4.2-216
.
Supported platforms
The following table provides a snapshot of supported platforms as of this Redis Enterprise Software release. See the supported platforms reference for more details about operating system compatibility.
✅ Supported – The platform is supported for this version of Redis Enterprise Software and Redis Stack modules.
⚠️ Deprecation warning – The platform is still supported for this version of Redis Enterprise Software, but support will be removed in a future release.
Redis Enterprise major versions |
7.4 | 7.2 | 6.4 | 6.2 |
---|---|---|---|---|
Release date | Feb 2024 | Aug 2023 | Feb 2023 | Aug 2021 |
End-of-life date | Determined after next major release |
Feb 2026 | Aug 2025 | Feb 2025 |
Platforms | ||||
RHEL 9 & compatible distros1 |
✅ | – | – | – |
RHEL 8 & compatible distros1 |
✅ | ✅ | ✅ | ✅ |
RHEL 7 & compatible distros1 |
– | ⚠️ | ✅ | ✅ |
Ubuntu 20.042 | ✅ | ✅ | ✅ | – |
Ubuntu 18.042 | ⚠️ | ⚠️ | ✅ | ✅ |
Ubuntu 16.042 | – | ⚠️ | ✅ | ✅ |
Amazon Linux 2 | ✅ | ✅ | ✅ | – |
Amazon Linux 1 | – | ✅ | ✅ | ✅ |
Kubernetes3 | ✅ | ✅ | ✅ | ✅ |
Docker4 | ✅ | ✅ | ✅ | ✅ |
-
The RHEL-compatible distributions CentOS, CentOS Stream, Alma, and Rocky are supported if they have full RHEL compatibility. Oracle Linux running the Red Hat Compatible Kernel (RHCK) is supported, but the Unbreakable Enterprise Kernel (UEK) is not supported.
-
The server version of Ubuntu is recommended for production installations. The desktop version is only recommended for development deployments.
-
See the Redis Enterprise for Kubernetes documentation for details about support per version and Kubernetes distribution.
-
Docker images of Redis Enterprise Software are certified for development and testing only.
Downloads
The following table shows the SHA256 checksums for the available packages:
Package | SHA256 checksum (7.4.6-22 July release) |
---|---|
Ubuntu 18 | 3bf13415cf013869b6417165c6bc2966cade201a08ac7c2a4a7286990fca03df |
Ubuntu 20 | c0951fc688e8b02aeec06b0e98baf77988edef7fd2dc828b6af4126ecb9753ae |
Red Hat Enterprise Linux (RHEL) 8 | 4667c579c52f899a4992cfe5d97e7b4f70ae9f34f5ae9bf75f10cfe2869a80d4 |
Red Hat Enterprise Linux (RHEL) 9 | 6c37b1483b5fb6110c8055c1526aa58eec1d29d3519e92310859101419248831 |
Amazon Linux 2 | 5782ac40b18b813f1fd6244f45c7107bfe00baccf3e0f3439149bdd0cbbfd806 |
Known issues
-
RS61676: Full chain certificate update fails if any certificate in the chain does not have a Common Name (CN).
-
RS119958: The
debuginfo
script fails with the error/bin/tar: Argument list too long
if there are too many RocksDB log files. This issue only affects clusters with Auto Tiering.
Known limitations
New Cluster Manager UI limitations
The following legacy UI features are not yet available in the new Cluster Manager UI:
-
Remove a node.
Use the REST API or legacy UI instead. See Remove a cluster node for instructions.
-
Purge an Active-Active instance.
Use
crdb-cli crdb purge-instance
instead. -
Search and export the log.
OpenSSL compatibility issue for 7.4.2 modules on Amazon Linux 2
Due to an OpenSSL 1.1 compatibility issue between modules and clusters, Redis Enterprise Software version 7.4.2-54 is not fully supported on Amazon Linux 2 clusters with databases that use the following modules: RedisGears, RediSearch, or RedisTimeSeries.
This issue will be fixed in a future maintenance release.
RedisGraph prevents upgrade to RHEL 9
You cannot upgrade from a prior RHEL version to RHEL 9 if the Redis Enterprise cluster contains a RedisGraph module, even if unused by any database. The RedisGraph module has reached End-of-Life and is completely unavailable in RHEL 9.
Security
Open source Redis security fixes compatibility
As part of Redis's commitment to security, Redis Enterprise Software implements the latest security fixes available with open source Redis. Redis Enterprise has already included the fixes for the relevant CVEs.
Some CVEs announced for open source Redis do not affect Redis Enterprise due to different or additional functionality available in Redis Enterprise that is not available in open source Redis.
Redis Enterprise 7.4.6-22 supports open source Redis 7.2, 6.2, and 6.0. Below is the list of open source Redis CVEs fixed by version.
Redis 7.2.x:
-
(CVE-2024-31449) An authenticated user may use a specially crafted Lua script to trigger a stack buffer overflow in the bit library, which may potentially lead to remote code execution.
-
(CVE-2024-31228) An authenticated user can trigger a denial-of-service by using specially crafted, long string match patterns on supported commands such as
KEYS
,SCAN
,PSUBSCRIBE
,FUNCTION LIST
,COMMAND LIST
, and ACL definitions. Matching of extremely long patterns may result in unbounded recursion, leading to stack overflow and process crashes. -
(CVE-2023-41056) In some cases, Redis may incorrectly handle resizing of memory buffers, which can result in incorrect accounting of buffer sizes and lead to heap overflow and potential remote code execution.
-
(CVE-2023-41053) Redis does not correctly identify keys accessed by
SORT_RO
and, as a result, may grant users executing this command access to keys that are not explicitly authorized by the ACL configuration. (Redis 7.2.1)
Redis 7.0.x:
-
(CVE-2024-31449) An authenticated user may use a specially crafted Lua script to trigger a stack buffer overflow in the bit library, which may potentially lead to remote code execution.
-
(CVE-2024-31228) An authenticated user can trigger a denial-of-service by using specially crafted, long string match patterns on supported commands such as
KEYS
,SCAN
,PSUBSCRIBE
,FUNCTION LIST
,COMMAND LIST
, and ACL definitions. Matching of extremely long patterns may result in unbounded recursion, leading to stack overflow and process crashes. -
(CVE-2023-41056) In some cases, Redis may incorrectly handle resizing of memory buffers, which can result in incorrect accounting of buffer sizes and lead to heap overflow and potential remote code execution.
-
(CVE-2023-41053) Redis does not correctly identify keys accessed by
SORT_RO
and, as a result, may grant users executing this command access to keys that are not explicitly authorized by the ACL configuration. (Redis 7.0.13) -
(CVE-2023-36824) Extracting key names from a command and a list of arguments may, in some cases, trigger a heap overflow and result in reading random heap memory, heap corruption, and potentially remote code execution. Specifically: using
COMMAND GETKEYS*
and validation of key names in ACL rules. (Redis 7.0.12) -
(CVE-2023-28856) Authenticated users can use the
HINCRBYFLOAT
command to create an invalid hash field that will crash Redis on access. (Redis 7.0.11) -
(CVE-2023-28425) Specially crafted
MSETNX
commands can lead to assertion and denial-of-service. (Redis 7.0.10) -
(CVE-2023-25155) Specially crafted
SRANDMEMBER
,ZRANDMEMBER
, andHRANDFIELD
commands can trigger an integer overflow, resulting in a runtime assertion and termination of the Redis server process. (Redis 7.0.9) -
(CVE-2023-22458) Integer overflow in the Redis
HRANDFIELD
andZRANDMEMBER
commands can lead to denial-of-service. (Redis 7.0.8) -
(CVE-2022-36021) String matching commands (like
SCAN
orKEYS
) with a specially crafted pattern to trigger a denial-of-service attack on Redis can cause it to hang and consume 100% CPU time. (Redis 7.0.9) -
(CVE-2022-35977) Integer overflow in the Redis
SETRANGE
andSORT
/SORT_RO
commands can drive Redis to OOM panic. (Redis 7.0.8) -
(CVE-2022-35951) Executing an
XAUTOCLAIM
command on a stream key in a specific state, with a specially craftedCOUNT
argument, may cause an integer overflow, a subsequent heap overflow, and potentially lead to remote code execution. The problem affects Redis versions 7.0.0 or newer. (Redis 7.0.5) -
(CVE-2022-31144) A specially crafted
XAUTOCLAIM
command on a stream key in a specific state may result in heap overflow and potentially remote code execution. The problem affects Redis versions 7.0.0 or newer. (Redis 7.0.4) -
(CVE-2022-24834) A specially crafted Lua script executing in Redis can trigger a heap overflow in the cjson and cmsgpack libraries, and result in heap corruption and potentially remote code execution. The problem exists in all versions of Redis with Lua scripting support, starting from 2.6, and affects only authenticated and authorized users. (Redis 7.0.12)
-
(CVE-2022-24736) An attacker attempting to load a specially crafted Lua script can cause NULL pointer dereference which will result in a crash of the
redis-server
process. This issue affects all versions of Redis. (Redis 7.0.0) -
(CVE-2022-24735) By exploiting weaknesses in the Lua script execution environment, an attacker with access to Redis can inject Lua code that will execute with the (potentially higher) privileges of another Redis user. (Redis 7.0.0)
Redis 6.2.x:
-
(CVE-2024-31449) An authenticated user may use a specially crafted Lua script to trigger a stack buffer overflow in the bit library, which may potentially lead to remote code execution.
-
(CVE-2024-31228) An authenticated user can trigger a denial-of-service by using specially crafted, long string match patterns on supported commands such as
KEYS
,SCAN
,PSUBSCRIBE
,FUNCTION LIST
,COMMAND LIST
, and ACL definitions. Matching of extremely long patterns may result in unbounded recursion, leading to stack overflow and process crashes. -
(CVE-2023-28856) Authenticated users can use the
HINCRBYFLOAT
command to create an invalid hash field that will crash Redis on access. (Redis 6.2.12) -
(CVE-2023-25155) Specially crafted
SRANDMEMBER
,ZRANDMEMBER
, andHRANDFIELD
commands can trigger an integer overflow, resulting in a runtime assertion and termination of the Redis server process. (Redis 6.2.11) -
(CVE-2023-22458) Integer overflow in the Redis
HRANDFIELD
andZRANDMEMBER
commands can lead to denial-of-service. (Redis 6.2.9) -
(CVE-2022-36021) String matching commands (like
SCAN
orKEYS
) with a specially crafted pattern to trigger a denial-of-service attack on Redis can cause it to hang and consume 100% CPU time. (Redis 6.2.11) -
(CVE-2022-35977) Integer overflow in the Redis
SETRANGE
andSORT
/SORT_RO
commands can drive Redis to OOM panic. (Redis 6.2.9) -
(CVE-2022-24834) A specially crafted Lua script executing in Redis can trigger a heap overflow in the cjson and cmsgpack libraries, and result in heap corruption and potentially remote code execution. The problem exists in all versions of Redis with Lua scripting support, starting from 2.6, and affects only authenticated and authorized users. (Redis 6.2.13)
-
(CVE-2022-24736) An attacker attempting to load a specially crafted Lua script can cause NULL pointer dereference which will result in a crash of the
redis-server
process. This issue affects all versions of Redis. (Redis 6.2.7) -
(CVE-2022-24735) By exploiting weaknesses in the Lua script execution environment, an attacker with access to Redis can inject Lua code that will execute with the (potentially higher) privileges of another Redis user. (Redis 6.2.7)
-
(CVE-2021-41099) Integer to heap buffer overflow handling certain string commands and network payloads, when
proto-max-bulk-len
is manually configured to a non-default, very large value. (Redis 6.2.6) -
(CVE-2021-32762) Integer to heap buffer overflow issue in
redis-cli
andredis-sentinel
parsing large multi-bulk replies on some older and less common platforms. (Redis 6.2.6) -
(CVE-2021-32761) An integer overflow bug in Redis version 2.2 or newer can be exploited using the
BITFIELD
command to corrupt the heap and potentially result with remote code execution. (Redis 6.2.5) -
(CVE-2021-32687) Integer to heap buffer overflow with intsets, when
set-max-intset-entries
is manually configured to a non-default, very large value. (Redis 6.2.6) -
(CVE-2021-32675) Denial Of Service when processing RESP request payloads with a large number of elements on many connections. (Redis 6.2.6)
-
(CVE-2021-32672) Random heap reading issue with Lua Debugger. (Redis 6.2.6)
-
(CVE-2021-32628) Integer to heap buffer overflow handling ziplist-encoded data types, when configuring a large, non-default value for
hash-max-ziplist-entries
,hash-max-ziplist-value
,zset-max-ziplist-entries
orzset-max-ziplist-value
. (Redis 6.2.6) -
(CVE-2021-32627) Integer to heap buffer overflow issue with streams, when configuring a non-default, large value for
proto-max-bulk-len
andclient-query-buffer-limit
. (Redis 6.2.6) -
(CVE-2021-32626) Specially crafted Lua scripts may result with Heap buffer overflow. (Redis 6.2.6)
-
(CVE-2021-32625) An integer overflow bug in Redis version 6.0 or newer can be exploited using the STRALGO LCS command to corrupt the heap and potentially result with remote code execution. This is a result of an incomplete fix by CVE-2021-29477. (Redis 6.2.4)
-
(CVE-2021-29478) An integer overflow bug in Redis 6.2 could be exploited to corrupt the heap and potentially result with remote code execution. The vulnerability involves changing the default set-max-intset-entries configuration value, creating a large set key that consists of integer values and using the COPY command to duplicate it. The integer overflow bug exists in all versions of Redis starting with 2.6, where it could result with a corrupted RDB or DUMP payload, but not exploited through COPY (which did not exist before 6.2). (Redis 6.2.3)
-
(CVE-2021-29477) An integer overflow bug in Redis version 6.0 or newer could be exploited using the STRALGO LCS command to corrupt the heap and potentially result in remote code execution. The integer overflow bug exists in all versions of Redis starting with 6.0. (Redis 6.2.3)
Redis 6.0.x:
-
(CVE-2022-24834) A specially crafted Lua script executing in Redis can trigger a heap overflow in the cjson and cmsgpack libraries, and result in heap corruption and potentially remote code execution. The problem exists in all versions of Redis with Lua scripting support, starting from 2.6, and affects only authenticated and authorized users. (Redis 6.0.20)
-
(CVE-2023-28856) Authenticated users can use the
HINCRBYFLOAT
command to create an invalid hash field that will crash Redis on access. (Redis 6.0.19) -
(CVE-2023-25155) Specially crafted
SRANDMEMBER
,ZRANDMEMBER
, andHRANDFIELD
commands can trigger an integer overflow, resulting in a runtime assertion and termination of the Redis server process. (Redis 6.0.18) -
(CVE-2022-36021) String matching commands (like
SCAN
orKEYS
) with a specially crafted pattern to trigger a denial-of-service attack on Redis can cause it to hang and consume 100% CPU time. (Redis 6.0.18) -
(CVE-2022-35977) Integer overflow in the Redis
SETRANGE
andSORT
/SORT_RO
commands can drive Redis to OOM panic. (Redis 6.0.17)