
CVE-2026-42945: nginx-rift vulnerability analysis and detection script
Ein lokales Risikobewertungstool für CVE-2026-42945 (Nginx Rift). Im Gegensatz zu Tools, die dir einfach sagen „Die Version ist betroffen, also gefährlich“, prüft dieses Skript schrittweise die drei Bedingungen, die das tatsächliche Risiko bestimmen, und liefert eine Schlussfolgerung, die auf deine tatsächliche Situation zugeschnitten ist.
CVE-2026-42945 ist ein 18 Jahre alter Heap-basierter Pufferüberlauf (CWE-122) im ngx_http_rewrite_module von nginx mit einem CVSS 4.0 Score von 9,2. Die Ankündigung enthält jedoch eine entscheidende Einschränkung:
"Code execution possible on systems without ASLR protection"
Für eine erfolgreiche RCE müssen drei Bedingungen gleichzeitig erfüllt sein:
rewrite- und set-Direktiven konfiguriert istFehlt auch nur eine Bedingung, ist das schlimmste Ergebnis ein Absturz des Worker-Prozesses mit anschließendem automatischen Neustart (DoS), anstatt einer Übernahme des Servers.
Detaillierte Analyse unter: „Die 18 Jahre alte Bombe von nginx: Hat die Schwachstelle mit 9,2 Punkten deinen Server getroffen?“
# Ausführen (benötigt sudo, um die vollständige nginx-Konfiguration zu lesen)
sudo bash check_cve_2026_42945.sh
Das Skript prüft nacheinander die folgenden vier Punkte. Wenn einer nicht erfüllt ist, wird vorzeitig abgebrochen und eine Schlussfolgerung ausgegeben:
Fall 1: Version betroffen, aber keine Trigger-Konfiguration (häufigster Fall)
[*] nginx Version: 1.24.0
[!] Version 1.24.0 liegt im betroffenen Bereich, fahre mit Prüfung der Trigger-Bedingungen fort...
[*] Scanne nginx-Konfiguration (Prüfung auf verwundbare rewrite+set-Kombination)...
[✓] Keine Trigger-Konfiguration gefunden (rewrite+set-Kombination)
Schlussfolgerung: Version betroffen, aber keine Trigger-Konfiguration, tatsächliches Risiko sehr gering
Empfehlung: Upgrade auf 1.30.1 / 1.31.0 planen, keine dringende Behandlung erforderlich
Fall 2: Trigger-Konfiguration vorhanden, ASLR aktiviert, Compile-Härtung vollständig
[!] Version 1.24.0 liegt im betroffenen Bereich, fahre mit Prüfung der Trigger-Bedingungen fort...
[!] Trigger-Konfiguration gefunden:
→ location ~ ^/api/(.*)$ {
[✓] ASLR aktiviert (Stufe 2, vollständige Randomisierung)
→ Voraussetzung für zuverlässige RCE-Ausnutzung nicht erfüllt, schlimmstenfalls Worker-Absturz (DoS)
[✓] -fcf-protection erkannt (Intel CET Control Flow Protection)
[✓] FORTIFY_SOURCE=3 erkannt
[✓] Full RELRO erkannt (GOT schreibgeschützt)
[✓] Stack-Schutz erkannt (stack-protector)
Risikostufe: Niedrig
Empfehlung: Upgrade auf nginx 1.30.1 / 1.31.0 im nächsten Wartungsfenster
Fall 3: Trigger-Konfiguration vorhanden, ASLR deaktiviert
[!] Trigger-Konfiguration gefunden:
→ location ~ ^/api/(.*)$ {
[✗] ASLR deaktiviert! RCE-Risiko deutlich erhöht
Risikostufe: Hoch (DoS sicher / RCE möglich)
Sofortmaßnahmen:
1. Entferne oder ändere vorübergehend die auslösende rewrite+set-Konfiguration
2. Stelle sicher, dass ASLR aktiviert ist: echo 2 | sudo tee /proc/sys/kernel/randomize_va_space
3. Aktualisiere nginx: apt install nginx oder Kompilieren und Installieren von 1.30.1+
| Produkt | Betroffene Versionen | Reparierte Versionen |
|---|---|---|
| NGINX Open Source | 0.6.27 – 1.30.0 | 1.30.1 / 1.31.0 |
| NGINX Plus | R32 – R36 | R36 P4 / R35 P2 / R32 P6 |
# Ubuntu / Debian
sudo apt update && sudo apt install nginx
# Version überprüfen
nginx -v
Offizielle Ankündigung: https://my.f5.com/manage/s/article/K000161019
Das Skript wurde in folgenden Szenarien getestet:
Testumgebung: Ubuntu 22.04 LTS, nginx 1.24.0 (Ubuntu-offizielles Paket)
include-Strukturen können möglicherweise übersehen werden (das Skript verwendet nginx -T, um alle Includes zu entfalten, was die überwiegende Mehrheit der Fälle abdeckt)MIT
| Prüfpunkt | Beschreibung |
|---|
| nginx Version | Betroffener Bereich: 0.6.27 – 1.30.0 |
| Schwachstellen-Trigger-Konfiguration | Gleichzeitiges Vorhandensein von rewrite mit ? und set mit Einfanggruppen im selben location-Block |
| ASLR-Status | Auslesen von /proc/sys/kernel/randomize_va_space |
| Compile-Härtung | Prüfung auf -fcf-protection / FORTIFY_SOURCE / Full RELRO / Stack-Schutz |
| Stufe | Bedeutung | Empfohlener Aktionsrhythmus |
|---|
| Kein Effekt | nginx nicht installiert oder Version bereits korrigiert | Keine Aktion erforderlich |
| Sehr gering | Version betroffen, aber keine Trigger-Konfiguration | Beim nächsten routinemäßigen Wartungsfenster aktualisieren |
| Niedrig | Trigger-Konfiguration vorhanden, aber ASLR + Compile-Härtung vollständig | Beim nächsten Wartungsfenster aktualisieren |
| Mittel | Trigger-Konfiguration vorhanden, Schutzlücken bestehen | So bald wie möglich aktualisieren, Verfügbarkeit gefährdet |
| Hoch | Trigger-Konfiguration vorhanden + ASLR deaktiviert + Härtung fehlt | Sofort behandeln |