
Diagnose- und Behebungsskript für fünf Redis-CVEs, das Scannen, ACL-basierte Abschwächung und Anleitung zur Härtung der Konfiguration für authentifizierte RCE-Schwachstellen bietet.
Veröffentlichungsdatum: 2026-05-08 Autor: TonyCao ([email protected]) Quelle: Redis Security Advisory
Am 05.05.2026 veröffentlichte Redis Ltd. ein Security Advisory über 5 schwerwiegende Sicherheitslücken, die alle Versionen von Redis OSS/CE betreffen. Alle CVEs können bei erfolgreicher Ausnutzung zu Remote Code Execution (RCE) führen.
| # | CVE-Code | CVSS | Schweregrad | Fehlertyp | Ausnutzungsbedingungen |
|---|---|---|---|---|---|
| 1 | CVE-2026-23479 | 7.7 | HOCH | Use-After-Free | Authentifiziert, mit Berechtigung zum Ausführen von Blocking-Befehlen |
| 2 | CVE-2026-25243 | 7.7 | HOCH | Ungültiger Speicherzugriff | Authentifiziert, mit Berechtigung zum Ausführen von RESTORE |
| 3 | CVE-2026-25588 | 7.7 | HOCH | Ungültiger Speicherzugriff | Authentifiziert, mit RESTORE-Berechtigung + RedisTimeSeries-Modul |
| 4 | CVE-2026-25589 | 7.7 | HOCH | Ungültiger Speicherzugriff | Authentifiziert, mit RESTORE-Berechtigung + RedisBloom-Modul |
| 5 | CVE-2026-23631 | 6.1 | MITTEL | Use-After-Free | Authentifiziert, Replica mit replica-read-only = deaktiviert |
Gemeinsamkeit: Alle CVEs erfordern, dass der Angreifer bereits authentifiziert ist. CVE-2026-23631 betrifft nur Replicas mit der Konfiguration
replica-read-only disabled.
| Versionslinie | Gepatchte Version (mindestens) |
|---|---|
| 6.2.x | 6.2.22 |
| 7.2.x | 7.2.14 |
| 7.4.x | 7.4.9 |
| 8.2.x | 8.2.6 |
| 8.4.x | 8.4.3 |
| 8.6.x | 8.6.3 |
| Modul | Mindestversion |
|---|---|
| RedisTimeSeries | 1.12.14 / 1.10.24 / 1.8.23 |
| RedisBloom | 2.8.20 / 2.6.28 / 2.4.23 |
| Version | Patch |
|---|---|
| 8.0.6 | 8.0.10-64 |
| 7.22.2 | 7.22.2-79 |
| 7.8.6 | 7.8.6-253 |
| 7.4.6 | 7.4.6-279 |
| 7.2.4 | 7.2.4-153 |
Alle Redis-Cloud-Deployments wurden zum Zeitpunkt der Veröffentlichung des Advisories automatisch gepatcht.
| Eigenschaft | Wert |
|---|---|
| Titel | Use-After-Free im Unblock Client Flow |
| CVSS 4.0 | 7.7 (HOCH) |
| CWE | CWE-416 (Use After Free) |
| Vektor | AV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N |
| Bedingung | Authentifizierter Angreifer mit Berechtigung zur Ausführung von Blocking-Befehlen |
| Umfang | Alle Redis OSS/CE, Redis Software <= 8.0.6 |
Wenn ein Client blockiert ist — z. B. wartet in BLPOP — und während der erneuten Ausführung des blockierten Befehls evictiert wird, kann die Funktion processCommandAndResetClient einen Fehler zurückgeben. Der aktuelle Code behandelt diesen Fall nicht korrekt, was zu einem Zeiger führt, der auf bereits freigegebenen Speicher verweist (Use-After-Free). Ein Angreifer kann die UAF ausnutzen, um Code remote auszuführen (RCE).
unblock client, processCommandAndResetClient enthältredis-server führt unbekannte Befehle ausBLPOP, BRPOP, BRPOPLPUSH, BLMOVE, BLMPOP, BZPOPMIN, BZPOPMAX, BZMPOP, WAIT, WAITAOF, XREAD, XREADGROUP
#### Abhilfemaßnahmen (ohne Upgrade)
**Methode 1 — Blockierung über ACL (empfohlen):**```bash
# Chặn toàn bộ nhóm lệnh blocking
redis-cli ACL SETUSER default -@blocking
# Hoặc chặn từng lệnh cụ thể
redis-cli ACL SETUSER default -BLPOP -BRPOP -BRPOPLPUSH -BLMOVE -BLMPOP \
-BZPOPMIN -BZPOPMAX -BZMPOP \
-WAIT -WAITAOF \
-XREAD -XREADGROUP
# Lưu ACL
redis-cli ACL SAVE
Methode 2 — Deaktivierung über rename-command (Redis-Neustart erforderlich):```bash
rename-command BLPOP "" rename-command BRPOP "" rename-command BRPOPLPUSH "" rename-command BLMOVE "" rename-command BLMPOP "" rename-command BZPOPMIN "" rename-command BZPOPMAX "" rename-command BZMPOP "" rename-command WAIT "" rename-command WAITAOF "" rename-command XREAD "" rename-command XREADGROUP ""
**Methode 3 — Protected-Mode aktivieren und Verbindungen begrenzen:**```bash
redis-cli CONFIG SET protected-mode yes
# Trong redis.conf:
protected-mode yes
bind 127.0.0.1
| Eigenschaft | Wert |
|---|---|
| Titel | Ungültiger Speicherzugriff im RESTORE-Befehl |
| CVSS 4.0 | 7.7 (HOCH) |
| CWE | CWE-20 (Unzureichende Eingabevalidierung) + CWE-122 (Heap-Pufferüberlauf) |
| Vektor | AV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N |
| Bedingung | Authentifizierter Angreifer mit Ausführungsrechten für RESTORE |
| Betroffen | Alle Redis OSS/CE, Redis Software <= 8.0.6 |
Die Schwachstelle umfasst 2 Teilprobleme:
Ein authentifizierter Angreifer sendet eine speziell gestaltete RESTORE-Payload, um die oben genannten Fehler auszunutzen, was zu RCE im Kontext des redis-server-Prozesses führen kann.