CVE-2025-46686
Low · 3.5CVSS
3.5
EPSS
0.3%
Published
Jul 23, 2025
CISA due date
—
Cloudanix analysis
A flaw in how Redis handles certain commands from logged-in users can cause the service to use up memory and become slow or unavailable, potentially disrupting any applications that depend on it.
- Exploitation
- Adjacent Network
- Attacker needs
- Low Privilege
- Complexity
- Low
- Impact
- Denial Of Service
- Component
- Network Service
- Class
- Denial of service
- Remediation
- Upgrade
- Effort
- Medium
- Patch risk
- Low
What it actually does
Authenticated clients can trigger unbounded memory allocation on the server by sending a multi-bulk command containing a large number of bulk elements; the server allocates argument storage for every bulk element before permission checks cause the command to be skipped.
Why it matters to the business
Redis-based services may experience gradual or sudden memory exhaustion, leading to degraded performance, increased infrastructure costs, or unplanned restarts that interrupt dependent applications.
How an attack unfolds
An authenticated user crafts and sends a single multi-bulk command with thousands or millions of small bulk arguments; the server allocates memory for each argument regardless of the subsequent permission denial, allowing the attacker to repeat the pattern and accumulate memory pressure until the process is terminated or the host is impacted.
How to fix it
Upgrade affected GitLab (Bitnami) installations to version 18.0.6 or later, which contains the corrected Redis component; restrict network access to Redis ports and enforce the principle of least privilege for authenticated users until the update is applied.
How to confirm the fix worked
Confirm the running Redis version is 8.0.4 or newer (or the GitLab package containing it), review memory-usage telemetry before and after sending test multi-bulk commands with varying bulk counts, and verify that permission-denied commands no longer cause measurable allocation growth.
Typical attack path
- Obtain valid low-privilege credentials for the Redis instance
- Establish a connection and issue a large multi-bulk command containing many bulk elements
- Repeat the command at a rate sufficient to outpace garbage collection or memory reclamation
- Monitor server memory metrics until exhaustion occurs and service availability is lost
How to detect it
Search Redis slow-log and INFO memory output for repeated large multi-bulk commands that result in permission-denied replies; correlate with operating-system memory metrics showing steady growth without corresponding data-set size increase.
What your security team should do
- Apply the 18.0.6 GitLab (Bitnami) update within the next maintenance window
- Implement network segmentation so only trusted clients can reach Redis listeners
- Enable Redis command statistics and memory tracking to detect anomalous allocation patterns
- Review and tighten ACLs to ensure only necessary users can execute commands that accept bulk arguments
The record
Redis through 8.0.3 allows memory consumption via a multi-bulk command composed of many bulks, sent by an authenticated user. This occurs because the server allocates memory for the command arguments of every bulk, even when the command is skipped because of insufficient permissions. NOTE: this is disputed by the Supplier because abuse of the commands network protocol is not a violation of the Redis Security Model.
Affected packages
| Ecosystem | Package | Introduced | Fixed |
|---|---|---|---|
| Bitnami | keydb | 0 | No fix |
| Bitnami | redis | 0 | 8.0.4 |
| Bitnami | redis | 0 | 8.2.0 |
| Bitnami | valkey | 0 | 8.0.4 |
| 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 | 0 |
| Chainguard | redis-6.2.10 | 0 | 0 |
| Chainguard | redis-6.2.10-benchmark | 0 | 0 |
| Chainguard | redis-6.2.10-bitnami-compat | 0 | 0 |
| Chainguard | redis-6.2.10-cli | 0 | 0 |
| Chainguard | redis-6.2.10-cluster-6.2.10-bitnami-compat | 0 | 0 |
| Chainguard | redis-7.2 | 0 | 0 |
| Chainguard | redis-7.2-bitnami-compat | 0 | 0 |
| Chainguard | redis-7.2-iamguarded-compat | 0 | 0 |
| Chainguard | redis-7.4 | 0 | 0 |
| Chainguard | redis-7.4-bitnami-compat | 0 | 0 |
| Chainguard | redis-7.4-iamguarded-compat | 0 | 0 |
| Chainguard | redis-8.0 | 0 | 0 |
| Chainguard | redis-8.0-bitnami-compat | 0 | 0 |
| Chainguard | redis-8.0-iamguarded-compat | 0 | 0 |
| Chainguard | redis-benchmark-7.2 | 0 | 0 |
| Chainguard | redis-benchmark-7.4 | 0 | 0 |
| Chainguard | redis-benchmark-8.0 | 0 | 0 |
| Chainguard | redis-cli-7.2 | 0 | 0 |
| Chainguard | redis-cli-7.4 | 0 | 0 |
| Chainguard | redis-cli-8.0 | 0 | 0 |
| Chainguard | redis-cluster-7.2-bitnami-compat | 0 | 0 |
| Chainguard | redis-cluster-7.2-iamguarded-compat | 0 | 0 |
| Chainguard | redis-cluster-7.4-bitnami-compat | 0 | 0 |
| Chainguard | redis-cluster-7.4-iamguarded-compat | 0 | 0 |
| Chainguard | redis-cluster-8.0-bitnami-compat | 0 | 0 |
| Chainguard | redis-cluster-8.0-iamguarded-compat | 0 | 0 |
| Chainguard | redis-sentinel-6.2.10-bitnami-compat | 0 | 0 |
| Chainguard | redis-sentinel-7.2-bitnami-compat | 0 | 0 |
| Chainguard | redis-sentinel-7.2-iamguarded-compat | 0 | 0 |
| Chainguard | redis-sentinel-7.4-bitnami-compat | 0 | 0 |
| Chainguard | redis-sentinel-7.4-iamguarded-compat | 0 | 0 |
| Chainguard | redis-sentinel-8.0-bitnami-compat | 0 | 0 |
| Chainguard | redis-sentinel-8.0-iamguarded-compat | 0 | 0 |
| Debian:11 | redis | 0 | No fix |
| Debian:12 | redis | 0 | No fix |
| Debian:13 | redis | 0 | No fix |
| Debian:14 | redis | 0 | No fix |
| Wolfi | redis-6.2 | 0 | 0 |
| Wolfi | redis-7.2 | 0 | 0 |
| Wolfi | redis-7.2-bitnami-compat | 0 | 0 |
| Wolfi | redis-7.4 | 0 | 0 |
| Wolfi | redis-benchmark-7.2 | 0 | 0 |
| Wolfi | redis-cli-7.2 | 0 | 0 |
| Wolfi | redis-cluster-7.2-bitnami-compat | 0 | 0 |
| Wolfi | redis-sentinel-7.2-bitnami-compat | 0 | 0 |
Related vulnerabilities
- CVE-2025-62507 Redis: Bug in XACKDEL may lead to stack overflow and potential RCE Also affects keydb
- CVE-2025-49844 Redis is an open source, in-memory database that persists on disk. Also affects keydb
- CVE-2025-46818 Redis is an open source, in-memory database that persists on disk. Also affects keydb
- CVE-2025-46819 Redis is an open source, in-memory database that persists on disk. Also affects keydb
- CVE-2025-46817 Redis is an open source, in-memory database that persists on disk. Also affects keydb
- CVE-2025-48367 Redis is an open source, in-memory database that persists on disk. Also affects keydb
- CVE-2025-32023 Redis is an open source, in-memory database that persists on disk. Also affects keydb
- CVE-2025-27151 Redis is an open source, in-memory database that persists on disk. Also affects keydb