Redis Enterprise Software release notes 7.4.2-169 (May 2024)
Configuration options for cluster management API workers and threads. Reduced Cluster Configuration Store CPU usage.
This is a maintenance release for Redis Enterprise Software version 7.4.2.
Highlights
This version offers:
-
Configuration options for cluster management API workers and threads
-
Reduced Cluster Configuration Store CPU usage
-
Bug fixes
New in this release
Enhancements
-
Allow configuring
cnm_http_workers
andcnm_http_max_threads_per_worker
using aPUT /v1/cluster
REST API request. You can update these settings if the API load is higher than the cluster can handle by default. Configuring more workers than the default will consume more memory. -
Reduced Cluster Configuration Store CPU usage, following the addition of the internal caching mechanism in the resource management calculations.
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:
Bundled Redis modules compatible with Redis database versions 6.0 and 6.2:
Resolved issues
-
RS123237: CRDT syncer prevents potential data mismatches or data loss due to missing keys when removing and re-adding a cluster in an Active-Active setup with at least three participating clusters after removing older clusters without re-adding them.
-
RS93876: When resharding is performed with
shards_blueprint
, improved the order of resharding to avoid stuck state machines due to low memory. -
RS119350: Avoid removing roles bound to LDAP mappings during cluster upgrade even if the roles aren't assigned to any users.
-
RS123561: Improved the installation validation process by identifying an occupied DNS port.
-
RS122365: Improved platform and module readiness checks by ignoring operating systems that are no longer part of the cluster.
-
RS96400: DMC management threads properly terminate instead of maintaining a blocking connection if they can't reach the CCS after a predefined time.
-
RS117188: Replaced the policy cache mechanism. Cache data from the versions file.
-
RS120425: Skip
rlcheck
ccs_dns
check whenpdns_server
is not enabled. -
RS118252: For databases with OSS Cluster API enabled, endpoints can bind to nodes that have master shards even if
max_listeners=0
. -
RS115382: Updated DMC to disconnect the client with an error if the token size exceeds
MAX_KEY_BULK_SIZE
. -
RS110798: Reduced
cluster_wd
request latency, fixing communication errors on large clusters. -
RS119705: On in-place upgrades, minimize DMC downtime by performing CCS schema upgrade before services are restarted.
-
RS117224: Avoid RAM eviction during scripts.
-
RS122062: Use
os_family
instead ofos_name
when creating module platforms during cluster upgrade, fixing join requests for operating systems like CentOS and Oracle Linux.
Version changes
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 |
July 2025 | Feb 2025 | Aug 2024 |
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 MD5 checksums for the available packages:
Package | MD5 checksum (7.4.2-169 May release) |
---|---|
Ubuntu 18 | 20ff0c73c6df04921355e2b256672f8e |
Ubuntu 20 | 1bdfad0d0a435bf6bcc648034bcc6bd6 |
Red Hat Enterprise Linux (RHEL) 8 | 5a7ebdce87aff285ea78d5a29ccbafc5 |
Red Hat Enterprise Linux (RHEL) 9 | 06dae1500cca622a6f61f51f107685df |
Amazon Linux 2 | 1eb64a1e1c10c17d126494b3bfc5f090 |
Security
Source available Redis security fixes compatibility
As part of Redis's commitment to security, Redis Enterprise Software implements the latest security fixes from source available Redis. Redis Enterprise has already included the fixes for the relevant CVEs.
Some CVEs announced for Redis do not affect Redis Enterprise due to different or additional functionality in Redis Enterprise.
Redis Enterprise 7.4.2 supports Redis 7.2, 6.2, and 6.0. Below is the list of Redis CVEs fixed by version.
Redis 7.2.x:
-
(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-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
command 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-2023-45145) The wrong order of listen(2) and chmod(2) calls creates a race condition that can be used by another process to bypass desired Unix socket permissions on startup. (Redis 6.2.14)
-
(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 can occur while 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 in 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 can occur while 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)