Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
CVE-2026-25589-25588-25243-23631-23479-REDIS — 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. | Kitploit
Tools/GitHubGitHub/mgiay/cve-2026-25589-25588-25243-23631-23479-redis
SchwachstellenanalyseKonfigurationsprüfungLernen & BildungKuratierte RessourcenDatenbanksicherheit
GitHubmgiay/cve-2026-25589-25588-25243-23631-23479-redis

CVE-2026-25589-25588-25243-23631-23479-REDIS

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.

Repository anzeigen
vor 3 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

ANLEITUNG ZUR PRÜFUNG & BEHEBUNG VON 5 REDIS-CVEs BIS 2026.05.08

Veröffentlichungsdatum: 2026-05-08 Autor: TonyCao ([email protected]) Quelle: Redis Security Advisory


INHALTSVERZEICHNIS

  1. Überblick
  2. Betroffene Versionen
  3. Details zu jeder CVE
    • CVE-2026-23479 — Use-after-free im Unblock Client Flow
    • CVE-2026-25243 — Ungültiger Speicherzugriff in RESTORE
    • CVE-2026-25588 — RESTORE mit RedisTimeSeries-Modul
    • CVE-2026-25589 — RESTORE mit RedisBloom-Modul
    • CVE-2026-23631 — Lua Use-After-Free über Master-Replica-Sync
  4. Anleitung zur Verwendung des Skripts
  5. Allgemeine Behebungsmethoden
  6. Risikobewertung — Interne Redis-Systeme / Sentinel
  7. ACL-Referenz
  8. Regelmäßiger Prüfprozess
  9. Häufig gestellte Fragen (FAQ)

ÜBERBLICK

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-CodeCVSSSchweregradFehlertypAusnutzungsbedingungen
1CVE-2026-234797.7HOCHUse-After-FreeAuthentifiziert, mit Berechtigung zum Ausführen von Blocking-Befehlen
2CVE-2026-252437.7HOCHUngültiger SpeicherzugriffAuthentifiziert, mit Berechtigung zum Ausführen von RESTORE
3CVE-2026-255887.7HOCHUngültiger SpeicherzugriffAuthentifiziert, mit RESTORE-Berechtigung + RedisTimeSeries-Modul
4CVE-2026-255897.7HOCHUngültiger SpeicherzugriffAuthentifiziert, mit RESTORE-Berechtigung + RedisBloom-Modul
5CVE-2026-236316.1MITTELUse-After-FreeAuthentifiziert, 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.


BETROFFENE VERSIONEN

Redis OSS/CE — Alle Versionen vor dem Patch

VersionslinieGepatchte Version (mindestens)
6.2.x6.2.22
7.2.x7.2.14
7.4.x7.4.9
8.2.x8.2.6
8.4.x8.4.3
8.6.x8.6.3

Module — Gepatchte Versionen

ModulMindestversion
RedisTimeSeries1.12.14 / 1.10.24 / 1.8.23
RedisBloom2.8.20 / 2.6.28 / 2.4.23

Redis Software (Enterprise)

VersionPatch
8.0.68.0.10-64
7.22.27.22.2-79
7.8.67.8.6-253
7.4.67.4.6-279
7.2.47.2.4-153

Redis Cloud

Alle Redis-Cloud-Deployments wurden zum Zeitpunkt der Veröffentlichung des Advisories automatisch gepatcht.


DETAILS ZU JEDER CVE

CVE-2026-23479

EigenschaftWert
TitelUse-After-Free im Unblock Client Flow
CVSS 4.07.7 (HOCH)
CWECWE-416 (Use After Free)
VektorAV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
BedingungAuthentifizierter Angreifer mit Berechtigung zur Ausführung von Blocking-Befehlen
UmfangAlle Redis OSS/CE, Redis Software <= 8.0.6

Technische Beschreibung

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).

Erkennungsmerkmale

  • Redis-Server stürzt mit einem Stack-Trace ab, der Funktionen im Zusammenhang mit unblock client, processCommandAndResetClient enthält
  • Der Prozess redis-server führt unbekannte Befehle aus
  • Nicht erlaubte Netzwerkverbindungen zur Redis-Instanz

Betroffene Blocking-Befehle```

BLPOP, BRPOP, BRPOPLPUSH, BLMOVE, BLMPOP, BZPOPMIN, BZPOPMAX, BZMPOP, WAIT, WAITAOF, XREAD, XREADGROUP

root@kitploit:~
#### 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

Thêm vào redis.conf:

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 ""

root@kitploit:~
**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

CVE-2026-25243

EigenschaftWert
TitelUngültiger Speicherzugriff im RESTORE-Befehl
CVSS 4.07.7 (HOCH)
CWECWE-20 (Unzureichende Eingabevalidierung) + CWE-122 (Heap-Pufferüberlauf)
VektorAV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
BedingungAuthentifizierter Angreifer mit Ausführungsrechten für RESTORE
BetroffenAlle Redis OSS/CE, Redis Software <= 8.0.6

Technische Beschreibung

Die Schwachstelle umfasst 2 Teilprobleme:

  1. Double-free im Redis-Kern (entdeckt von Emil Lerner) — RESTORE verarbeitet speziell serialisierte Payloads, was zu einer doppelten Freigabe desselben Speicherzeigers führt.
  2. Integer-Überlauf und Out-of-Bounds-Lesen in VectorSets (entdeckt von Joseph Surin) — speziell gestaltete Payloads verursachen einen Integer-Überlauf, der zu Lese-/Schreibzugriffen außerhalb des zugewiesenen Speichers führt.

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.

Erkennungsmerkmale

  • Ungewöhnlicher Absturz des Redis-Servers
  • Änderungen an Systemdateien (insbesondere im Verzeichnis mit RDB/AOF/Konfiguration von Redis)
  • Nicht autorisierte Netzwerkverbindungen zu/von der Redis-Instanz
  • Geänderte Redis-Konfigurationsdateien

Abhilfemaßnahmen (ohne Upgrade)

Methode 1 — RESTORE über ACL blockieren (empfohlen):```bash

Chặn lệnh RESTORE

redis-cli ACL SETUSER default -restore

Hoặc chặn toàn bộ nhóm lệnh nguy hiểm

redis-cli ACL SETUSER default -@dangerous

redis-cli ACL SAVE

root@kitploit:~
**Methode 2 — RESTORE deaktivieren (Redis-Neustart erforderlich):**```bash
# Thêm vào redis.conf:
rename-command RESTORE ""

Methode 3 — Erstellen eines eigenen ACL-Benutzers für die Anwendung:```bash

Tao user cho ung dung chi voi quyen doc/ghi co ban

redis-cli ACL SETUSER app_user on >StrongPass123 ~*
+@read +@write
-@dangerous
-@admin
-@scripting
-@blocking
-restore
-debug

redis-cli ACL SAVE

root@kitploit:~
---

### CVE-2026-25588

| Eigenschaft    | Wert                                                              |
| -------------- | ----------------------------------------------------------------- |
| **Titel**      | Ungültiger Speicherzugriff in RESTORE mit RedisTimeSeries-Modul   |
| **CVSS 4.0**   | **7.7 (HOCH)**                                                    |
| **CWE**        | CWE-20 + CWE-122                                                   |
| **Vektor**     | `AV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N`           |
| **Bedingung**  | Authentifiziert + RESTORE-Berechtigung + **RedisTimeSeries-Modul geladen** |
| **Umfang**     | Redis OSS/CE + RedisTimeSeries-Modul                              |

#### Technische Beschreibung

Wenn der Befehl `RESTORE` auf einer Instanz mit geladenem **RedisTimeSeries-Modul** verwendet wird, kann eine speziell gestaltete serialisierte Nutzlast einen ungültigen Speicherzugriff während der Verarbeitung von Zeitreihendaten auslösen. Die Schwachstelle liegt in der Art und Weise, wie das RedisTimeSeries-Modul Daten aus der RESTORE-Nutzlast deserialisiert.

#### Erkennungsmerkmale

- Redis-Absturz mit Stack-Trace im Zusammenhang mit dem RedisTimeSeries-Modul
- Das RedisTimeSeries-Modul ist geladen (`MODULE LIST` zeigt timeseries an)
- Unerwartete Befehlsausführung durch redis-server

#### Abhilfemaßnahmen (ohne Upgrade)

**Methode 1 — RESTORE über ACL blockieren:** (wie CVE-2026-25243)```bash
redis-cli ACL SETUSER default -restore
redis-cli ACL SAVE

Methode 2 — Entfernen des RedisTimeSeries-Moduls (falls nicht benötigt):```bash redis-cli MODULE UNLOAD timeseries

root@kitploit:~
Danach entfernen Sie die folgende Zeile aus `redis.conf`:```
loadmodule /path/to/redistimeseries.so

Methode 3 — Nur das Modul aktualisieren (ohne Redis zu aktualisieren):

Laden Sie die gepatchte Modulversion herunter:

  • RedisTimeSeries 1.12.14 (für die 1.12-Reihe)
  • RedisTimeSeries 1.10.24 (für die 1.10-Reihe)
  • RedisTimeSeries 1.8.23 (für die 1.8-Reihe)```bash

Thay the file .so cu bang phien ban moi

Sau do restart Redis hoac:

redis-cli MODULE UNLOAD timeseries redis-cli MODULE LOAD /path/to/new/redistimeseries.so

root@kitploit:~
---

### CVE-2026-25589

| Eigenschaft    | Wert                                                                          |
| -------------- | ----------------------------------------------------------------------------- |
| **Titel**      | Ungültiger Speicherzugriff in RESTORE mit RedisBloom-Modul                     |
| **CVSS 4.0**   | **7.7 (HOCH)**                                                                |
| **CWE**        | CWE-20 + CWE-122 + CWE-787 (Out-of-Bounds Write) + CWE-190 (Integer Overflow) |
| **Vektor**     | `AV:N/AC:H/AT:N/PR:L/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N`                      |
| **Bedingung**  | Authentifiziert + RESTORE-Berechtigung + **RedisBloom-Modul geladen**          |
| **Umfang**     | Redis OSS/CE + RedisBloom-Modul                                               |

#### Technische Beschreibung

Die Schwachstelle umfasst mehrere Sub-Issues im RedisBloom-Modul bei der Verarbeitung von RESTORE-Payloads:

1. **Out-of-Bounds read/write** (Daniel Firer) — Lesen/Schreiben außerhalb des zugewiesenen Speicherbereichs
2. **Integer Overflow, Heap-Buffer-Overflow und OOB read/write** (Joseph Surin) — Integer-Überlauf führt zu Heap-Buffer-Überlauf

Wenn das RedisBloom-Modul geladen ist, kann ein Angreifer einen speziell gestalteten RESTORE-Payload senden, um die oben genannten Fehler während der Deserialisierung von Bloom-Filter-, Cuckoo-Filter-, Count-Min-Sketch- oder Top-K-Daten auszunutzen.

#### Erkennungsmerkmale

- Redis-Absturz mit Stack-Trace im Zusammenhang mit dem RedisBloom-Modul
- Das RedisBloom-Modul ist geladen (`MODULE LIST` zeigt bf/bloom an)
- Daten in den Bloom-Filtern sind beschädigt oder weisen ungewöhnliche Änderungen auf

#### Abhilfemaßnahmen (ohne Upgrade)

**Methode 1 — RESTORE über ACL blockieren:** (wie bei CVE-2026-25243)```bash
redis-cli ACL SETUSER default -restore
redis-cli ACL SAVE

Methode 2 — Entfernen des RedisBloom-Moduls (falls nicht benötigt):```bash redis-cli MODULE UNLOAD bf

root@kitploit:~
Danach entferne die folgende Zeile aus `redis.conf`:```
loadmodule /path/to/redisbloom.so

Methode 3 — Nur das Modul upgraden (ohne Redis zu upgraden):

Laden Sie die gepatchte Modulversion herunter:

  • RedisBloom 2.8.20 (für die 2.8-Serie)
  • RedisBloom 2.6.28 (für die 2.6-Serie)
  • RedisBloom 2.4.23 (für die 2.4-Serie)```bash redis-cli MODULE UNLOAD bf redis-cli MODULE LOAD /path/to/new/redisbloom.so
root@kitploit:~
---

### CVE-2026-23631

| Eigenschaft    | Wert                                                             |
| -------------- | ---------------------------------------------------------------- |
| **Titel**      | Lua Use-After-Free über Master-Replica-Synchronisation           |
| **CVSS 4.0**   | **6.1 (MITTEL)**                                                 |
| **CWE**        | CWE-416 (Use After Free)                                         |
| **Vektor**     | `AV:N/AC:H/AT:N/PR:L/UI:N/VC:N/VI:H/VA:H/SC:N/SI:N/SA:N`         |
| **Bedingung**  | Authentifiziert + **Replica** mit `replica-read-only` = **deaktiviert** |
| **Umfang**     | Alle Redis OSS/CE mit Lua-Scripting, NUR auf Replica             |
| **Codename**   | „DarkReplica" (Yoni Shiraz, Wiz Zeroday Cloud)                   |

#### Technische Beschreibung

Ein authentifizierter Angreifer kann den Master-Replica-Synchronisationsmechanismus ausnutzen, um spezielle Lua-Skripte zu senden, die einen Use-After-Free in der Lua-Engine auf der Replica auslösen.

**Wichtige Bedingung:** Der Bug **betrifft nur Replicas**, die mit `replica-read-only disabled` konfiguriert sind (d. h. die Replica kann schreiben). Dies ist KEINE Standardkonfiguration — standardmäßig ist `replica-read-only` = `yes`.

Wenn die Replica im Read-Only-Modus konfiguriert ist (Standard), ist die Instanz **nicht betroffen**.

#### Erkennungsmerkmale

- Redis-Absturz auf der Replica mit Stack-Trace aus der Lua-Engine
- Konfiguration `replica-read-only` = `no` auf der Replica
- Ausführung unbekannter Befehle auf der Replica
- Nicht autorisierte Netzwerkverbindungen zur Replica

#### Abhilfemaßnahmen (ohne Upgrade)

**Methode 1 — replica-read-only aktivieren (empfohlen, dies ist die Standardeinstellung):**```bash
# Runtime
redis-cli CONFIG SET replica-read-only yes

# Trong redis.conf:
replica-read-only yes

Methode 2 — Lua-Scripting über ACL blockieren:```bash redis-cli ACL SETUSER default -@scripting redis-cli ACL SETUSER default -eval -evalsha -script -function -fcall -fcall_ro redis-cli ACL SAVE

root@kitploit:~
**Methode 3 — Lua-Befehle deaktivieren (Redis-Neustart erforderlich):**```bash
# Thêm vào redis.conf:
rename-command EVAL ""
rename-command EVALSHA ""
rename-command SCRIPT ""
rename-command FUNCTION ""
rename-command FCALL ""
rename-command FCALL_RO ""

ANLEITUNG ZUR SKRIPTVERWENDUNG

Funktionsprinzip

  • Keine Parameter → zeigt die Bedienungsanleitung (Hilfe) an
  • --scan → Diagnose, prüft alle CVEs
  • --fix-... → wendet die Abhilfemaßnahme für die jeweilige CVE an``` $ ./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh → hiển thị banner + HELP + thoát
root@kitploit:~
### Systemanforderungen

- **Betriebssystem:** Linux (Ubuntu, Debian, CentOS, RHEL, ...)
- **Werkzeug:** `redis-cli` (normalerweise im Paket `redis-tools` oder `redis` enthalten)
- **Berechtigungen:** Lese-/Schreibzugriff auf die Datei `redis.conf` (zur Behebung)
- **Verbindung:** Netzwerkzugriff auf die zu prüfende Redis-Instanz

### Installation von redis-cli (falls noch nicht vorhanden)```bash
# Ubuntu/Debian
sudo apt update && sudo apt install -y redis-tools

# CentOS/RHEL 7
sudo yum install -y redis

# CentOS/RHEL 8+/Fedora
sudo dnf install -y redis

# Hoặc từ source
wget https://download.redis.io/releases/redis-stable.tar.gz
tar xzf redis-stable.tar.gz
cd redis-stable && make redis-cli
sudo cp src/redis-cli /usr/local/bin/

Verwendung

1. Hilfe anzeigen```bash

Cấp quyền thực thi

chmod +x CVE-2026-25589-25588-25243-23631-23479-REDIS.sh

Chạy không tham số → hiển thị help

./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh

Hoặc tường minh

./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --help

root@kitploit:~
#### 2. Vollständiger CVE-Scan (Diagnose)```bash
# Local Redis
./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --scan

# Redis từ xa
./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --scan \
    -H 192.168.1.100 -p 6379 -a "your_password"

# Với ACL user
./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --scan \
    -H 10.0.0.50 -p 6380 -u admin -a "admin_password"

# Qua Unix socket
./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --scan \
    -s /var/run/redis/redis-server.sock

# Kèm xuất báo cáo
./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --scan \
    -o redis_cve_report_$(date +%Y%m%d).txt

3. Behebung einzelner CVEs```bash

Fix tung CVE cu the

./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --fix-cve-23479 ./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --fix-cve-25243 -H 10.0.0.1 -a mypassword ./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --fix-cve-25588 ./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --fix-cve-25589 ./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --fix-cve-23631 -c /etc/redis/redis.conf

root@kitploit:~
#### 4. Schnellbehebung nach Gruppen (empfohlen)```bash
# Chan RESTORE → bao ve 3/5 CVE (25243 + 25588 + 25589)
./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --fix-restore

# Chan blocking commands → bao ve CVE-2026-23479
./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --fix-blocking

# Chan Lua + bat replica-read-only → bao ve CVE-2026-23631
./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --fix-lua

5. Vollständige Behebung```bash

Fix tat ca CVE (co backup config)

./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --fix-all

Fix all voi file config rieng

./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --fix-all
-c /etc/redis/redis.conf

Fix all khong backup (khong khuyen nghi)

./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --fix-all --no-backup

Fix all Redis tu xa

./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --fix-all
-H 10.0.0.1 -p 6379 -a mypassword

root@kitploit:~
### Vollständige Parametertabelle

#### Aktionsparameter (ACTION) — erforderlich

| Parameter        | Funktion                                     | Anzahl geschützter CVEs       |
| ---------------- | -------------------------------------------- | ----------------------------- |
| *(kein Parameter)* | Zeigt die Bedienungsanleitung an             | —                             |
| `--scan`         | Führt eine Diagnose aller 5 CVEs durch       | —                             |
| `--fix-all`      | Behebt alle CVEs                             | **5/5**                       |
| `--fix-restore`  | **[Schnell]** Blockiert nur den RESTORE-Befehl | **3/5** (25243, 25588, 25589) |
| `--fix-blocking` | **[Schnell]** Blockiert nur blockierende Befehle | **1/5** (23479)               |
| `--fix-lua`      | **[Schnell]** Blockiert Lua + aktiviert replica-read-only | **1/5** (23631)               |
| `--fix-cve-23479`| Behebt CVE-2026-23479                        | 1/5                           |
| `--fix-cve-25243`| Behebt CVE-2026-25243                        | 1/5                           |
| `--fix-cve-25588`| Behebt CVE-2026-25588                        | 1/5                           |
| `--fix-cve-25589`| Behebt CVE-2026-25589                        | 1/5                           |
| `--fix-cve-23631`| Behebt CVE-2026-23631                        | 1/5                           |

#### Verbindungsparameter

| Parameter            | Beschreibung              | Standard     |
| -------------------- | ------------------------- | ------------ |
| `-H, --host HOST`    | Redis-Hostadresse         | `127.0.0.1`  |
| `-p, --port PORT`    | Redis-Port                | `6379`       |
| `-a, --pass PASS`    | Redis-Passwort            | *(leer)*     |
| `-u, --user USER`    | ACL-Benutzername          | `default`    |
| `-s, --socket PATH`  | Unix-Socket-Pfad          | *(leer)*     |

#### Zusätzliche Parameter

| Parameter            | Beschreibung                               | Standard                 |
| -------------------- | ------------------------------------------ | ------------------------ |
| `-h, --help`         | Zeigt Hilfe an                             | —                        |
| `-c, --config FILE`  | Pfad zu redis.conf                         | `/etc/redis/redis.conf`  |
| `-o, --output FILE`  | Schreibt Bericht in Datei (nur mit `--scan`) | *(leer)*                 |
| `--redis-cli PATH`   | Pfad zur redis-cli-Binary                  | `redis-cli` (aus PATH)   |
| `--no-backup`        | Kein Backup der Config vor der Änderung    | `false`                  |

### Exit-Codes

| Code | Bedeutung                                                |
| ---- | -------------------------------------------------------- |
| `0`  | Erfolg — kein CVE erkannt oder Fix abgeschlossen         |
| `1`  | Fehler: redis-cli nicht gefunden oder keine Verbindung möglich |
| `2`  | `--scan` hat mindestens 1 CVE erkannt — Behebung erforderlich |

### Ausgabe beim Scannen (`--scan`)```
╔══════════════════════════════════════════════════════════════════════╗
║    REDIS CVE SCANNER & MITIGATION TOOL                               ║
╚══════════════════════════════════════════════════════════════════════╝

[*] THONG TIN REDIS INSTANCE
  Host:Port     : 127.0.0.1:6379
  Version       : 7.2.5
  Mode          : standalone
  Role          : master
  Modules       : timeseries bf

═══════════════════════════════════════════════════════════════════════
  [1/5] CVE-2026-23479 - Use-after-free trong Unblock Client Flow
        CVSS 7.7 (HIGH) | RCE
═══════════════════════════════════════════════════════════════════════
[✗] CO KHA NANG BI ANH HUONG - Redis 7.2.5 (can >= 7.2.14)

  ... (CVE 2-5 tuong tu)

╔══════════════════════════════════════════════════════════════════════╗
║                         TOM TAT KET QUA                              ║
╚══════════════════════════════════════════════════════════════════════╝
  [✗] CVE-2026-23479 - VULNERABLE
  [✗] CVE-2026-25243 - VULNERABLE
  [✗] CVE-2026-25588 - VULNERABLE
  [✗] CVE-2026-25589 - VULNERABLE
  [✓] CVE-2026-23631 - OK

  Ket qua: 1 PASS / 4 VULNERABLE

═══════════════════════════════════════════════════════════════════════
  [!] Phat hien 4 CVE. Su dung cac tuy chon --fix-... de khac phuc.
  VD: ./script.sh --fix-restore    # Chan RESTORE (3 CVE)
  VD: ./script.sh --fix-blocking   # Chan blocking (1 CVE)
  VD: ./script.sh --fix-lua        # Chan Lua (1 CVE)
  VD: ./script.sh --fix-all        # Khac phuc toan bo
═══════════════════════════════════════════════════════════════════════

Ausgabe nach der Reparatur (--fix-restore)```

╔══════════════════════════════════════════════════════════════════════╗ ║ REDIS CVE SCANNER & MITIGATION TOOL ║ ╚══════════════════════════════════════════════════════════════════════╝

[*] THONG TIN REDIS INSTANCE Host:Port : 127.0.0.1:6379 Version : 7.2.5 ...

╔══════════════════════════════════════════════════════════════════════╗ ║ FIX NHANH: Chan RESTORE (CVE-2026-25243 + 25588 + 25589) ║ ╚══════════════════════════════════════════════════════════════════════╝ Bao ve 3/5 CVE chi voi 1 lenh chan RESTORE

[+] Da backup redis.conf toi: /etc/redis/redis.conf.cve-backup-20260508_120000 [*] Chan RESTORE qua ACL (khong can restart) => ACL SETUSER default -restore ... OK => ACL SAVE ... OK

[*] rename-command RESTORE "" (can restart) => Vo hieu hoa: rename-command RESTORE "" [!] CAN RESTART REDIS de rename-command co hieu luc

[✓] Da chan RESTORE. Cac CVE duoc bao ve:

  • CVE-2026-25243 (RESTORE double-free/OOB)
  • CVE-2026-25588 (RESTORE + RedisTimeSeries)
  • CVE-2026-25589 (RESTORE + RedisBloom)
root@kitploit:~
---

## ALLGEMEINE ABHILFEMETHODEN

### Methode 1: ACL (Redis >= 6.0) — EMPFOHLEN

Dies ist die **sicherste und flexibelste Methode**, ohne dass Redis neu gestartet werden muss.```bash
# Tao ACL user an toan cho ung dung
redis-cli ACL SETUSER app_user on >StrongPassword123 ~* \
    +@read \           # Quyen doc du lieu
    +@write \          # Quyen ghi du lieu
    -@dangerous \      # CHAN tat ca lenh nguy hiem (gồm RESTORE)
    -@admin \          # CHAN lenh quan tri
    -@scripting \      # CHAN Lua scripting
    -@blocking \       # CHAN blocking commands
    -@keyspace \       # CHAN keyspace notifications
    -@pubsub           # CHAN pub/sub (neu khong dung)

# Vo hieu hoa default user
redis-cli ACL SETUSER default off

# Luu ACL vinh vien
redis-cli ACL SAVE

Methode 2: rename-command — Redis-Neustart erforderlich

Fügen Sie die folgenden Zeilen zu redis.conf hinzu:```conf

Vo hieu hoa RESTORE (CVE-2026-25243, 25588, 25589)

rename-command RESTORE ""

Vo hieu hoa blocking commands (CVE-2026-23479)

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 XREAD "" rename-command XREADGROUP ""

Vo hieu hoa Lua commands (CVE-2026-23631)

rename-command EVAL "" rename-command EVALSHA "" rename-command SCRIPT "" rename-command FUNCTION "" rename-command FCALL "" rename-command FCALL_RO ""

root@kitploit:~
Danach starte Redis neu:```bash
sudo systemctl restart redis-server
# hoặc
sudo service redis-server restart

Methode 3: Netzwerkkonfiguration + Firewall```bash

Trong redis.conf:

protected-mode yes bind 127.0.0.1 192.168.1.10 # Chi lang nghe IP tin cay

iptables — chi cho phep IP noi bo

iptables -A INPUT -p tcp --dport 6379 -s 127.0.0.1 -j ACCEPT iptables -A INPUT -p tcp --dport 6379 -s 10.0.0.0/8 -j ACCEPT iptables -A INPUT -p tcp --dport 6379 -j DROP

Luu iptables

iptables-save > /etc/iptables/rules.v4

root@kitploit:~
### Methode 4: Redis mit minimalen Rechten ausführen```bash
# Tao user redis khong co shell
sudo useradd -r -s /bin/false redis

# Chown thu muc Redis
sudo chown -R redis:redis /var/lib/redis
sudo chown -R redis:redis /etc/redis

# Chay Redis duoi user redis
sudo -u redis redis-server /etc/redis/redis.conf

Methode 5: Entfernen unnötiger Module```bash

Kiem tra module dang nap

redis-cli MODULE LIST

Go bo module khong can thiet

redis-cli MODULE UNLOAD timeseries # CVE-2026-25588 redis-cli MODULE UNLOAD bf # CVE-2026-25589

Xoa loadmodule khoi redis.conf

Tim va xoa dong:

loadmodule /path/to/redistimeseries.so

loadmodule /path/to/redisbloom.so

root@kitploit:~
---

## RISIKOBEWERTUNG — INTERNES REDIS-SYSTEM / SENTINEL

Dieser Abschnitt gilt für **Redis Sentinel**-Cluster oder eigenständige Redis-Instanzen, die im internen Netzwerk laufen, durch eine Firewall (Fortinet, iptables usw.) geschützt sind und **keine direkte Verbindung zum Internet** haben.

### Zusammenfassung

| Vorhandene Schutzstufe                | Risikominderung?                                                  | Upgrade erforderlich?                    |
| ------------------------------------- | ---------------------------------------------------------------- | ---------------------------------------- |
| Kein Internetzugriff                  | **Ja** — eliminiert externe Angreifer                             | Nicht dringend                           |
| Fortinet Firewall (mit IPS/DPI)       | **Ja** — filtert Quell-IPs, IPS kann ungewöhnliche Payloads erkennen | Nicht dringend                           |
| iptables (Quell-IP-Beschränkung)      | **Ja** — nur erlaubte IPs können sich mit dem Redis-Port verbinden | Nicht dringend                           |
| **Kombination aller drei Maßnahmen**  | **Reduziert die Ausnutzungswahrscheinlichkeit erheblich**         | **Nicht dringend, aber ein Plan ist ratsam** |

### Kernpunkt: Warum eine Firewall nicht ausreicht?

Alle 5 CVEs haben eines gemeinsam: Der Angreifer muss **bereits authentifiziert** sein (PR:L — Privileges Required: Low im CVSS-Vektor). Eine Firewall blockiert Verbindungen von nicht erlaubten IPs, schützt aber **nicht** vor den folgenden Bedrohungen:

| Bedrohung                                                                                                                  | Eintrittswahrscheinlichkeit | Folgen bei Ausnutzung                                                          |
| -------------------------------------------------------------------------------------------------------------------------- | --------------------------- | ------------------------------------------------------------------------------ |
| **Böswilliger interner Mitarbeiter** — hat Zugriff auf das interne Netzwerk + kennt das Redis-Passwort                      | Gering, aber nicht auszuschließen | **RCE** auf dem Redis-Server, Privilege Escalation, Datendiebstahl             |
| **Kompromittierter interner Host (Lateral Movement)** — Angreifer übernimmt einen beliebigen Host im Netzwerk und greift von dort Redis an | Mittel                      | Alle Redis-Daten werden gestohlen/verändert/gelöscht; Angreifer kann Backdoors installieren |
| **Firewall-Konfigurationsfehler** — versehentliches Öffnen des Redis-Ports nach außen durch fehlerhafte Regeländerung       | Gering                      | Gleichbedeutend mit direkter Internet-Exposition                               |
| **Supply Chain / Drittanbieter** — Partner oder Anbieter mit VPN-Zugang ins interne Netzwerk                                | Gering                      | RCE, Datendiebstahl (Data Exfiltration)                                        |
| **Schwachstelle in der Firewall/Netzwerk selbst** — Angreifer umgeht die Firewall über eine andere Schwachstelle            | Sehr gering                 | Das gesamte interne System ist betroffen                                       |

### Quantitative Risikoanalyse```
Rủi ro = Xác suất khai thác × Hậu quả

Với firewall + air-gap:
  = (RẤT THẤP: 0.5% - 2%/năm) × (NGHIÊM TRỌNG: RCE toàn hệ thống, mất toàn bộ dữ liệu)
  = RỦI RO TRUNG BÌNH — vẫn đáng quan tâm

Spezifisches Bedrohungsmodell für Sentinel-Cluster

Redis-Sentinel-Cluster bringen zusätzliche eigene Risiken mit sich:

Sentinel-AngriffsvektorBeschreibungZugehörige CVEs
Sentinel-Übernahme — Angreifer übernimmt Sentinel-Knoten und führt Failover auf bösartige Replica durchSentinel kommuniziert über einen eigenen Port (üblicherweise 26379), wenn dieser nicht separat geschützt istCVE-2026-23631 (falls Replica replica-read-only no hat)
Replica-Promotion — kompromittierte Replica wird zum Master befördertDaten des gesamten Clusters werden verändertAlle RESTORE-CVEs (25243, 25588, 25589)
Master-Replica-Synchronisierung — Angreifer fängt den Sync-Datenstrom abDaten werden während der Synchronisierung gestohlenCVE-2026-23631

Empfehlungen nach Priorität

PrioritätAktionUmsetzungszeitDowntime erforderlich?
P0 — SofortPrüfskript auf allen Knoten ausführen (Master + Replica + Sentinel): ./CVE-...sh -H <ip> -p <port> -a <pass>2-5 Minuten / KnotenNein
P0 — Sofortreplica-read-only yes auf allen Replicas prüfen: redis-cli CONFIG GET replica-read-only1 Minute / KnotenNein
P1 — Innerhalb der WocheRESTORE über ACL blockieren (kein Neustart nötig): redis-cli ACL SETUSER default -restore; redis-cli ACL SAVE2 Minuten / KnotenNein
P1 — Innerhalb der Woche@blocking-Befehle über ACL blockieren (CVE-2026-23479)2 Minuten / KnotenNein
P1 — Innerhalb der Woche@scripting-Befehle über ACL blockieren, falls Lua nicht verwendet wird (CVE-2026-23631)2 Minuten / KnotenNein
P2 — Bis zum nächsten Wartungsfensterrename-command RESTORE "", rename-command EVAL "", ... in redis.conf hinzufügen10 Minuten (mit Neustart)Ja (Redis-Neustart)
P2 — Bis zum nächsten WartungsfensterRedis auf gepatchte Version aktualisieren (6.2.22, 7.2.14, 7.4.9, 8.2.6, 8.4.3, 8.6.3)30-60 Minuten / ClusterJa (Clusterweiter Neustart)

Beispiel: Gesamten Sentinel-Cluster mit ACL schützen (ohne Downtime)```bash

============================================

Chay tren TUNG node Redis (master + replica)

============================================

1. Tao ACL user an toan cho ung dung

redis-cli -h <node_ip> -p 6379 -a ACL SETUSER app_user on >StrongPass123 ~*
+@read +@write
-@dangerous -@admin -@scripting -@blocking
-restore -debug

2. Vo hieu hoa default user

redis-cli -h <node_ip> -p 6379 -a ACL SETUSER default off

3. Luu ACL

redis-cli -h <node_ip> -p 6379 -a ACL SAVE

4. Kiem tra lai

redis-cli -h <node_ip> -p 6379 -a --user app_user --pass StrongPass123 PING

root@kitploit:~

Cách sử dụng

Để sử dụng công cụ này, bạn cần có Python 3.6 trở lên. Cài đặt các phụ thuộc bằng lệnh sau:

root@kitploit:~
pip install -r requirements.txt

Sau đó, chạy công cụ với lệnh:

root@kitploit:~
python main.py --target example.com --output report.html

Các tham số

Tham sốMô tảBắt buộc
--targetTên miền hoặc địa chỉ IP mục tiêuCó
--outputĐường dẫn tệp đầu ra cho báo cáoKhông
--verboseBật chế độ ghi log chi tiếtKhông

Ví dụ

Quét một mục tiêu và lưu kết quả vào tệp HTML:

root@kitploit:~
python main.py --target example.com --output report.html

Quét với chế độ chi tiết:

root@kitploit:~
python main.py --target example.com --verbose

Các tính năng

  • Quét cổng nhanh với nhiều luồng
  • Phát hiện hệ điều hành và dịch vụ
  • Tạo báo cáo HTML có thể tùy chỉnh
  • Hỗ trợ cả IPv4 và IPv6
  • Tích hợp cơ sở dữ liệu CVE để kiểm tra lỗ hổng

Giấy phép

Công cụ này được phân phối theo giấy phép MIT. Xem tệp LICENSE để biết thêm chi tiết.

root@kitploit:~
# ============================================
# Chay tren TUNG node Sentinel (port 26379)
# ============================================

# Sentinel thuong khong can RESTORE/EVAL — chan toan bo lenh nguy hiem
redis-cli -h <sentinel_ip> -p 26379 -a <sentinel_pass> ACL SETUSER default \
    -@dangerous -@admin -@scripting -@blocking -restore

redis-cli -h <sentinel_ip> -p 26379 -a <sentinel_pass> ACL SAVE
```
### Entscheidungsablauf: Ist ein sofortiges Upgrade erforderlich?```
Hệ thống Redis của bạn có public-facing không?
├── CÓ → NÂNG CẤP NGAY hoặc áp dụng workaround TRONG 24H
└── KHÔNG (nội bộ / air-gapped)
    ├── Có dùng Lua scripting (EVAL/EVALSHA)?
    │   ├── CÓ → CVE-2026-23631: Kiểm tra replica-read-only, chặn @scripting qua ACL
    │   └── KHÔNG → Rủi ro thấp hơn
    ├── Có dùng RedisTimeSeries hoặc RedisBloom module?
    │   ├── CÓ → CVE-2026-25588/25589: Chặn RESTORE qua ACL, nâng cấp module
    │   └── KHÔNG → Không bị ảnh hưởng bởi 25588/25589
    ├── Có dùng blocking commands (BLPOP, XREAD, ...)?
    │   ├── CÓ → CVE-2026-23479: Chặn @blocking qua ACL hoặc rename-command
    │   └── KHÔNG → Chặn @blocking để an toàn (không ảnh hưởng)
    └── KẾT LUẬN:
        ├── Áp dụng ACL workaround NGAY TRONG TUẦN (không downtime)
        └── Lên kế hoạch nâng cấp TRONG MAINTENANCE WINDOW TIẾP THEO
```
### Fazit

> **Firewall + Netzwerk-Isolation reduzieren die Ausnutzungswahrscheinlichkeit auf ein sehr niedriges Niveau, aber die Konsequenz bei erfolgreicher Ausnutzung bleibt eine systemweite RCE.** Da die Behebungskosten nahezu null betragen (ein paar ACL-Zeilen ohne Neustart hinzufügen), ist die Anwendung der Schutzmaßnahme eine vorteilhafte Entscheidung im Risikomanagement. **Kein Grund für panische Sofort-Upgrades**, aber **die ACL-Workaround sollte diese Woche angewendet werden** und ein Upgrade im nächsten Wartungsfenster eingeplant werden.

---

## ACL-REFERENZ

### Wichtige Befehlskategorien

| Gruppe        | Beschreibung                                                                   | CVE-Auswirkung               |
| ------------- | ------------------------------------------------------------------------------ | ---------------------------- |
| `@dangerous`  | Gefährliche Befehle (einschließlich RESTORE, FLUSHDB, FLUSHALL, KEYS, SHUTDOWN, DEBUG, CONFIG) | CVE-2026-25243, 25588, 25589 |
| `@blocking`   | Blockierende Befehle (BLPOP, BRPOP, BZPOPMIN, XREAD, WAIT, ...)                 | CVE-2026-23479               |
| `@scripting`  | Lua-Scripting (EVAL, EVALSHA, SCRIPT, FUNCTION, FCALL)                         | CVE-2026-23631               |
| `@admin`      | Verwaltungsbefehle (CONFIG, ACL, CLIENT, CLUSTER, MONITOR, SHUTDOWN, ...)      | Allgemeiner Schutz           |
| `@keyspace`   | Befehle im Zusammenhang mit dem Keyspace (KEYS, SCAN, FLUSHDB, FLUSHALL, ...)  | Allgemeiner Schutz           |
| `@read`       | Datenlesebefehle (GET, HGET, LRANGE, SMEMBERS, ZRANGE, ...)                    | Sicher                       |
| `@write`      | Datenschreibbefehle (SET, HSET, LPUSH, SADD, ZADD, ...)                        | Sicher                       |

### Beispiel für eine vollständige ACL-Konfiguration```bash
# 1. Tao admin user (day du quyen)
redis-cli ACL SETUSER admin on >AdminPass123 ~* +@all

# 2. Tao app user (quyen gioi han)
redis-cli ACL SETUSER app on >AppPass123 ~* \
    +@read \
    +@write \
    -@dangerous \
    -@admin \
    -@scripting \
    -@blocking \
    -restore \
    -debug

# 3. Tao readonly user (chi doc)
redis-cli ACL SETUSER reader on >ReaderPass123 ~* \
    +@read \
    -@dangerous \
    -@admin \
    -@scripting

# 4. Vo hieu hoa default user
redis-cli ACL SETUSER default off

# 5. Luu ACL
redis-cli ACL SAVE

# 6. Kiem tra ACL
redis-cli ACL LIST
```
### Effektive ACL-Prüfung```bash
# Liet ke tat ca ACL rules
redis-cli ACL LIST

# Kiem tra quyen cua mot user
redis-cli ACL GETUSER app

# Kiem tra user hien tai
redis-cli ACL WHOAMI

# Xem log vi pham ACL
redis-cli ACL LOG
```
---

## REGELMÄSSIGER PRÜFPROZESS

### 1. Einmalige Prüfung (ad-hoc)```bash
./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --scan \
    -H <redis_host> -p <port> -a <password> \
    -o report_$(date +%Y%m%d_%H%M%S).txt
```
### 2. Massenprüfung mehrerer Redis-Instanzen

Erstellen Sie die Datei `redis_hosts.txt`:```
# Format: host:port:password:user
10.0.0.1:6379:pass1:default
10.0.0.2:6379:pass2:default
10.0.0.3:6380:pass3:admin
```
Script zur Massenprüfung:```bash
#!/bin/bash
# File: batch_check.sh

BATCH_RESULT="batch_result_$(date +%Y%m%d_%H%M%S).txt"

while IFS=':' read -r host port pass user; do
    [[ "$host" =~ ^#.* ]] && continue  # Bo qua comment
    [[ -z "$host" ]] && continue        # Bo qua dong trong

    echo "============================================" | tee -a "$BATCH_RESULT"
    echo "Kiem tra: $host:$port" | tee -a "$BATCH_RESULT"
    echo "============================================" | tee -a "$BATCH_RESULT"

    ./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --scan \
        -H "$host" -p "${port:-6379}" \
        -a "${pass:-}" -u "${user:-default}" \
        2>&1 | tee -a "$BATCH_RESULT"

    echo "" | tee -a "$BATCH_RESULT"
done < redis_hosts.txt

echo "Bao cao tong hop: $BATCH_RESULT"
```
### 3. Integration in cron (tägliche Überprüfung)```bash
# Them vao crontab (chay hang ngay luc 7:00 AM)
0 7 * * * /opt/scripts/CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --scan \
    -H 127.0.0.1 -p 6379 -a mypassword \
    -o /var/log/redis/cve_report_$(date +\%Y\%m\%d).txt \
    > /dev/null 2>&1
```
### 4. Integration in den CI/CD-Pipeline```yaml
# GitLab CI example
redis-security-scan:
  stage: security
  image: redis:7-alpine
  script:
    - chmod +x CVE-2026-25589-25588-25243-23631-23479-REDIS.sh
    - ./CVE-2026-25589-25588-25243-23631-23479-REDIS.sh --scan \
        -H $REDIS_HOST -p $REDIS_PORT -a $REDIS_PASS \
        -o cve_report.txt
  artifacts:
    paths:
      - cve_report.txt
    when: always
  allow_failure: true
```
---

## HÄUFIG GESTELLTE FRAGEN (FAQ)

### F: Muss ich Redis nach der Anwendung von `--fix-...` neu starten?

**A:** Ja, für `rename-command`-Änderungen — diese werden erst nach einem Neustart von Redis wirksam. Änderungen über `CONFIG SET` (wie `protected-mode`, `replica-read-only`) werden sofort wirksam. Änderungen über `ACL SETUSER` + `ACL SAVE` werden sofort wirksam, **kein Neustart erforderlich**. Wenn Sie nur ACL verwenden (`--fix-restore`, `--fix-blocking`, `--fix-lua`), ist kein Neustart nötig. Das Skript wendet immer gleichzeitig ACL (Laufzeit) und rename-command (Neustart erforderlich) an, um einen mehrschichtigen Schutz zu gewährleisten.

### F: Beeinträchtigt das Blockieren von RESTORE den normalen Betrieb?

**A:** Der Befehl `RESTORE` wird normalerweise nur in folgenden Fällen verwendet:

- Wiederherstellung von Daten aus Backups
- Datenmigration zwischen Instanzen
- Benutzerdefinierte Datensynchronisierung

Wenn Ihre Anwendung RESTORE nicht verwendet, ist das Blockieren dieses Befehls sicher. Falls Sie es verwenden, erstellen Sie einen separaten ACL-Benutzer mit RESTORE-Berechtigung und nutzen Sie diesen nur für administrative Zwecke.

### F: Ich verwende Redis < 6.0, ACL ist nicht verfügbar. Was nun?

**A:** Bei Redis < 6.0 können Sie nur `rename-command` verwenden, um Befehle zu deaktivieren. Die Schritte:

1. Fügen Sie `rename-command RESTORE ""` zur redis.conf hinzu
2. Fügen Sie `rename-command`-Einträge für Blocking-Befehle hinzu
3. Aktivieren Sie `protected-mode yes`
4. Richten Sie `requirepass` mit einem starken Passwort ein
5. Begrenzen Sie Verbindungen über die Firewall
6. Starten Sie Redis neu

### F: Wie erkenne ich, ob die Module RedisTimeSeries/RedisBloom geladen sind?

**A:** Führen Sie den Befehl aus:```bash
redis-cli MODULE LIST
```
Die Ausgabe zeigt die Liste der geladenen Module samt Version. Wenn `timeseries` oder `bf` nicht erscheint, ist das Modul nicht geladen.

### F: Sind `--fix-all` / `--fix-restore` / `--fix-...` sicher für die Produktion?

**A:** Die Fix-Befehle führen sichere Änderungen durch:

- Backup von redis.conf vor der Änderung (außer bei Verwendung von `--no-backup`)
- **ACL** (`-restore`, `-@blocking`, `-@scripting`): wirken sofort, keine Ausfallzeit, leicht rückgängig zu machen
- **rename-command**: erfordert einen Redis-Neustart, um wirksam zu werden
- **CONFIG SET**: zur Laufzeit, geht bei einem Neustart verloren, wenn nicht in redis.conf geschrieben

Empfehlung: Für die Produktion zuerst `--fix-restore`, `--fix-blocking`, `--fix-lua` verwenden (nur ACL, kein Neustart erforderlich). Danach ein Wartungsfenster einplanen, um mit `rename-command` neu zu starten.

### F: Wie kann ich die Änderungen von `--fix-...` rückgängig machen (Rollback)?

**A:**

1. Wenn ein Backup vorhanden ist: Backup-Datei über redis.conf kopieren, dann Redis neu starten
2. Bei Verwendung von `CONFIG SET`: Ein Neustart von Redis stellt die Konfiguration aus der Datei wieder her
3. Bei Verwendung von `ACL SETUSER`: `ACL SETUSER <user> +<cmd>` verwenden, um die Berechtigungen wiederherzustellen

### F: Sollte ich Redis aktualisieren?

**A:** **Ja, wenn möglich.** Das Upgrade auf eine gepatchte Version ist die gründlichste Lösung. Dieses Skript ist für folgende Fälle gedacht:

- Ein Upgrade ist aufgrund von Anwendungsbeschränkungen nicht sofort möglich
- Zeit zum Testen der neuen Version ist erforderlich
- Eine vorübergehende Schutzmaßnahme wird benötigt, während auf das Wartungsfenster gewartet wird

### F: Redis läuft intern, ohne Internetzugang, durch eine Firewall geschützt — ist ein Upgrade erforderlich?

**A:** **Kein dringendes Upgrade erforderlich**, aber **Workaround anwenden und Upgrade planen**, denn:

- Eine Firewall reduziert nur die **Wahrscheinlichkeit** eines Angriffs, beseitigt das Risiko aber nicht vollständig
- Angreifer aus dem internen Netzwerk (böswillige Mitarbeiter, kompromittierte Maschinen, laterale Bewegung) können weiterhin ausnutzen
- Die Folge einer Ausnutzung ist **RCE auf dem gesamten System** — höchster Schweregrad
- **Die Kosten des Workarounds sind sehr gering**: Hinzufügen von ACL `-restore -@blocking -@scripting` dauert 2 Minuten, keine Ausfallzeit

**Empfohlener Fahrplan:**

1. **Diese Woche:** ACL-Workaround anwenden (keine Ausfallzeit)
2. **Nächstes Wartungsfenster:** Redis aktualisieren + `rename-command` hinzufügen

Details siehe [Risikobewertung — Internes Redis-System / Sentinel](#risikobewertung--internes-redis-system--sentinel).

---

## REFERENZEN

- [Offizielles Redis Security Advisory](https://redis.io/blog/security-advisory-cve202623479-cve202625243-cve-2026-25588-cve202625589-cve-2026-23631/)
- [GitHub Advisory — CVE-2026-25243 (RESTORE RCE)](https://github.com/redis/redis/security/advisories/GHSA-c8h9-259x-jff4)
- [GitHub Advisory — CVE-2026-23631 (Lua UAF)](https://github.com/redis/redis/security/advisories/GHSA-8ghh-qpmp-7826)
- [Redis ACL-Dokumentation](https://redis.io/docs/latest/operate/oss_and_stack/management/security/acl/)
- [Redis rename-command-Dokumentation](https://redis.io/docs/latest/operate/oss_and_stack/management/security/#disable-specific-commands)
- [NVD — CVE-2026-25243](https://nvd.nist.gov/vuln/detail/CVE-2026-25243)
- [NVD — CVE-2026-25588](https://nvd.nist.gov/vuln/detail/CVE-2026-25588)
- [OpenCVE — CVE-2026-23479](https://app.opencve.io/cve/CVE-2026-23479)
- [Tenable — CVE-2026-23631](https://www.tenable.com/cve/CVE-2026-23631)

---

> **Haftungsausschluss:** Dieses Dokument wurde auf der Grundlage öffentlich zugänglicher Informationen aus dem Redis-Sicherheitsadvisory und NVD-Quellen erstellt. Der Benutzer ist dafür verantwortlich, die für seine Umgebung geeigneten Abhilfemaßnahmen vor der Anwendung zu prüfen und zu bestätigen.
Tool herunterladen