CVE-2025-21605
High · 7.5CVSS
7.5
EPSS
0.9%
Published
Apr 23, 2025
CISA due date
—
Cloudanix analysis
Attackers can send many commands to a Redis server without logging in, making the server use up all its memory and stop working.
- Exploitation
- Remote Unauthenticated
- Attacker needs
- None
- Complexity
- Trivial
- Impact
- Denial Of Service
- Component
- Network Service
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Unauthenticated clients trigger unbounded growth of client output buffers by sending commands that elicit repeated NOAUTH replies, exhausting server memory until the process terminates.
Why it matters to the business
Redis or compatible in-memory database services become unavailable, disrupting applications that rely on them for caching, sessions, or real-time data and potentially causing outages across dependent systems.
How an attack unfolds
An attacker connects to an exposed Redis instance, issues repeated commands without supplying credentials, receives accumulating NOAUTH responses that fill the output buffer, and continues until the server runs out of memory or is killed by the OS.
How to fix it
Upgrade Redis to 7.4.3 or later; for Rocky Linux 8 apply raptor2 2.0.15-17.el8_10; for valkey apply commit f6852069ae1ad969189150a23f9a78644b86a443; alternatively enforce network-level access controls or require TLS with client certificates to block unauthenticated connections.
How to confirm the fix worked
Confirm the running server version reports a fixed release, test that unauthenticated connections are rejected or rate-limited by client-output-buffer-limit settings, and verify memory usage remains stable under repeated unauthenticated command attempts.
Typical attack path
- Discover an accessible Redis TCP port
- Establish a connection without authentication
- Repeatedly issue arbitrary commands to elicit NOAUTH replies
- Monitor buffer growth until memory exhaustion occurs
How to detect it
Review Redis logs for repeated NOAUTH responses from the same client IP, correlate with sudden memory spikes or OOM killer events, and inspect connection counts from unauthenticated sources.
What your security team should do
- Apply the listed fixed versions or equivalent patches immediately
- Restrict Redis exposure using firewalls or security groups to authenticated clients only
- Enable client-output-buffer-limit for normal clients in configuration
- Monitor for high memory usage correlated with unauthenticated connection volume
The record
Redis is an open source, in-memory database that persists on disk. In versions starting at 2.6 and prior to 7.4.3, An unauthenticated client can cause unlimited growth of output buffers, until the server runs out of memory or is killed. By default, the Redis configuration does not limit the output buffer of normal clients (see client-output-buffer-limit). Therefore, the output buffer can grow unlimitedly over time. As a result, the service is exhausted and the memory is unavailable. When password authentication is enabled on the Redis server, but no password is provided, the client can still cause the output buffer to grow from "NOAUTH" responses until the system will run out of memory. This issue has been patched in version 7.4.3. An additional workaround to mitigate this problem without patching the redis-server executable is to block access to prevent unauthenticated users from connecting to Redis. This can be done in different ways. Either using network access control tools like firewalls, iptables, security groups, etc, or enabling TLS and requiring users to authenticate using client side certificates.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| AlmaLinux:10 | valkey | 0 | 8.0.3-1.el10_0 |
| AlmaLinux:10 | valkey-devel | 0 | 8.0.3-1.el10_0 |
| AlmaLinux:8 | redis | 0 | 6.2.18-1.module_el8.10.0+3994+c2cc5395 |
| AlmaLinux:8 | redis-devel | 0 | 6.2.18-1.module_el8.10.0+3994+c2cc5395 |
| AlmaLinux:8 | redis-doc | 0 | 6.2.18-1.module_el8.10.0+3994+c2cc5395 |
| AlmaLinux:9 | redis | 0 | 7.2.8-1.module_el9.6.0+168+b8d8e900 |
| AlmaLinux:9 | redis | 0 | 6.2.18-1.el9_6 |
| AlmaLinux:9 | redis-devel | 0 | 7.2.8-1.module_el9.6.0+168+b8d8e900 |
| AlmaLinux:9 | redis-devel | 0 | 6.2.18-1.el9_6 |
| AlmaLinux:9 | redis-doc | 0 | 7.2.8-1.module_el9.6.0+168+b8d8e900 |
| AlmaLinux:9 | redis-doc | 0 | 6.2.18-1.el9_6 |
| Alpine:v3.15 | redis | 0 | 6.2.18-r0 |
| Alpine:v3.18 | redis | 0 | 7.0.15-r3 |
| Alpine:v3.19 | redis | 0 | 7.2.8-r0 |
| Alpine:v3.20 | valkey | 0 | 7.2.9-r0 |
| Alpine:v3.21 | valkey | 0 | 7.2.9-r0 |
| Alpine:v3.22 | valkey | 0 | 7.2.9-r0 |
| Bitnami | keydb | 2.6.0 | No fix |
| Bitnami | keydb | 2.6.0 | 6.2.18 |
| Bitnami | redis | 2.6.0 | 6.2.18 |
| Bitnami | redis | 2.6.0 | 7.4.3 |
| Bitnami | valkey | 0 | 7.2.9 |
| Bitnami | valkey | 2.6.0 | 8.0.0 |
| Chainguard | py3-redis | 0 | 0 |
| Chainguard | py3.10-redis | 0 | 0 |
| Chainguard | py3.11-redis | 0 | 0 |
| Chainguard | py3.12-redis | 0 | 0 |
| Chainguard | py3.13-redis | 0 | 0 |
| Chainguard | redis-6.2 | 0 | 6.2.21-r0 |
| Chainguard | redis-6.2.10-benchmark | 0 | 6.2.10-r40 |
| Chainguard | redis-6.2.10-cli | 0 | 6.2.10-r40 |
| Chainguard | redis-7.2 | 0 | 7.2.12-r0 |
| Chainguard | redis-7.2-iamguarded-compat | 0 | 7.2.12-r0 |
| Chainguard | redis-benchmark-7.2 | 0 | 7.2.12-r0 |
| Chainguard | redis-cli-7.2 | 0 | 7.2.12-r0 |
| Chainguard | redis-cluster-7.2-iamguarded-compat | 0 | 7.2.12-r0 |
| Chainguard | redis-sentinel-7.2-iamguarded-compat | 0 | 7.2.12-r0 |
| Debian:11 | redis | 0 | No fix |
| Debian:12 | redis | 0 | No fix |
| Debian:13 | redict | 0 | No fix |
| Debian:13 | redis | 0 | No fix |
| Debian:13 | valkey | 0 | No fix |
| Debian:14 | redict | 0 | 7.3.5+ds-1 |
| Debian:14 | redis | 0 | 5:7.0.15-3.1 |
| Debian:14 | valkey | 0 | 8.1.1+dfsg1-1 |
| Mageia:9 | redis | 0 | 7.0.14-1.3.mga9 |
| SUSE:Enterprise Storage 7.1 | redis | 0 | 6.0.14-150200.6.35.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP3-LTSS | redis | 0 | 6.0.14-150200.6.35.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-ESPOS | redis | 0 | 6.2.6-150400.3.34.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP4-LTSS | redis | 0 | 6.2.6-150400.3.34.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS | redis | 0 | 6.2.6-150400.3.34.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-ESPOS | redis7 | 0 | 7.0.8-150500.3.18.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS | redis | 0 | 6.2.6-150400.3.34.1 |
| SUSE:Linux Enterprise High Performance Computing 15 SP5-LTSS | redis7 | 0 | 7.0.8-150500.3.18.1 |
| SUSE:Linux Enterprise Module for Server Applications 15 SP6 | redis | 0 | 7.2.4-150600.3.9.1 |
| SUSE:Linux Enterprise Module for Server Applications 15 SP6 | redis7 | 0 | 7.0.8-150600.8.9.1 |
| SUSE:Linux Enterprise Module for Server Applications 15 SP6 | valkey | 0 | 8.0.2-150600.13.6.1 |
| SUSE:Linux Enterprise Server 15 SP3-LTSS | redis | 0 | 6.0.14-150200.6.35.1 |
| SUSE:Linux Enterprise Server 15 SP4-LTSS | redis | 0 | 6.2.6-150400.3.34.1 |
| SUSE:Linux Enterprise Server 15 SP5-LTSS | redis | 0 | 6.2.6-150400.3.34.1 |
| SUSE:Linux Enterprise Server 15 SP5-LTSS | redis7 | 0 | 7.0.8-150500.3.18.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP3 | redis | 0 | 6.0.14-150200.6.35.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP4 | redis | 0 | 6.2.6-150400.3.34.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP5 | redis | 0 | 6.2.6-150400.3.34.1 |
| SUSE:Linux Enterprise Server for SAP Applications 15 SP5 | redis7 | 0 | 7.0.8-150500.3.18.1 |
| SUSE:Manager Proxy 4.3 | redis | 0 | 6.2.6-150400.3.34.1 |
| SUSE:Manager Server 4.3 | redis | 0 | 6.2.6-150400.3.34.1 |
| Wolfi | redis-6.2 | 0 | 6.2.21-r0 |
| Wolfi | redis-7.2 | 0 | 7.2.12-r0 |
| Wolfi | redis-benchmark-7.2 | 0 | 7.2.12-r0 |
| Wolfi | redis-cli-7.2 | 0 | 7.2.12-r0 |
| openSUSE:Leap 15.6 | redis | 0 | 7.2.4-150600.3.9.1 |
| openSUSE:Leap 15.6 | redis7 | 0 | 7.0.8-150600.8.9.1 |
| openSUSE:Leap 15.6 | valkey | 0 | 8.0.2-150600.13.6.1 |
| openSUSE:Tumbleweed | redis | 0 | 8.0.2-1.1 |
| openSUSE:Tumbleweed | valkey | 0 | 8.0.3-1.1 |
Related vulnerabilities
- CVE-2025-49844 Redis is an open source, in-memory database that persists on disk. Also affects valkey
- CVE-2025-46818 Redis is an open source, in-memory database that persists on disk. Also affects valkey
- CVE-2025-46819 Redis is an open source, in-memory database that persists on disk. Also affects valkey
- CVE-2025-46817 Redis is an open source, in-memory database that persists on disk. Also affects valkey
- CVE-2025-48367 Redis is an open source, in-memory database that persists on disk. Also affects valkey
- CVE-2025-32023 Redis is an open source, in-memory database that persists on disk. Also affects valkey
- CVE-2025-27151 Redis is an open source, in-memory database that persists on disk. Also affects valkey
- CVE-2024-46981 Redis is an open source, in-memory database that persists on disk. Also affects redis