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
NGINX_RIFT_SCAN_CVE_2026_42945 — Nginx Rewrite CVE Scan(CVE-2026-42945 nginx-rift CVE-2026-9256) | Kitploit
Tools/GitHubGitHub/friparia/nginx_rift_scan_cve_2026_42945
Statische AnalyseSchwachstellenscannerExploitationKonfigurationsprüfungWebsicherheitFehlkonfiguration
GitHubfriparia/nginx_rift_scan_cve_2026_42945

NGINX_RIFT_SCAN_CVE_2026_42945

Nginx Rewrite CVE Scan(CVE-2026-42945 nginx-rift CVE-2026-9256)

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen
Repository anzeigen
349vor 2 MonatenVon Kitploit geprüft

NGINX Rift-Konfigurationsscanner

Sprache: Chinesisch | English

Dies ist ein leichtgewichtiges Skript zur Überprüfung von NGINX-Konfigurationen auf Risikomuster der CVEs CVE-2026-42945 (NGINX Rift) und CVE-2026-9256.

Die Schwachstelle wurde von depthfirst im Artikel NGINX Rift: Achieving NGINX RCE via an 18-Year-Old Vulnerability offengelegt. Laut dem Artikel und den Beschreibungen von F5/NVD hängt das Risiko mit bestimmten Konfigurationskombinationen von ngx_http_rewrite_module zusammen: Im selben Konfigurationskontext enthält der Ersetzungsstring von rewrite ein ?, und nachfolgende rewrite-, if- oder set-Anweisungen referenzieren unbenannte PCRE-Erfassungsvariablen wie $1, $2.

Prüfziele

Dieses Tool prüft hauptsächlich die folgenden risikoreichen Muster in NGINX-Konfigurationsdateien.

CVE-2026-42945

Eine risikoreiche Sequenz wie die folgende:

root@kitploit:~
location ~ ^/api/(.*)$ {
    rewrite ^/api/(.*)$ /internal?migrated=true;
    set $original_endpoint $1;
}

Der Risikopunkt liegt nicht in einzelnen rewrite- oder set-Anweisungen, sondern in deren Ausführungsreihenfolge im selben Kontext:

  1. rewrite verwendet reguläre Erfassungsgruppen und der Ersetzungsstring enthält ?
  2. Nachfolgende rewrite-, if- oder set-Anweisungen verwenden unbenannte Erfassungsvariablen wie $1, $2

Diese Kombination kann eine Inkonsistenz zwischen Längenberechnung und tatsächlicher Kopierphase der NGINX-Script-Engine auslösen, was zu einem Heap-Pufferüberlauf führt.

CVE-2026-9256

Ein risikoreicher rewrite wie der folgende:

root@kitploit:~
location / {
    rewrite /wengine-auth-static/((.*)) /?$1$2 break;
}

Risikobedingungen:

  1. Der reguläre Ausdruck enthält überlappende Erfassungsgruppen, z. B. enthält $1 in ^/((.*))$ $2
  2. Der Ersetzungsstring referenziert im Kontext von Redirect oder Arguments mehrere überlappende Erfassungsgruppen, z. B. $1$2

Beachten Sie, dass break das Risiko nicht ausschließt; solange mehrere überlappende Erfassungsgruppen im Parametertteil nach ? erscheinen, bleibt es im Arguments-Kontext. Ein normaler URI-Rewrite wie /$1$2 break gehört nicht zu den Auslösern dieser CVE.

Wenn das Skript dieses Muster erkennt, wird es explizit als CVE-2026-9256 markiert.

Betroffene Versionen

Der von depthfirst aufgeführte betroffene Bereich umfasst:

  • NGINX Open Source 0.6.27 bis 1.30.1
  • NGINX Plus R32 bis R36
  • Einige auf NGINX basierende F5/NGINX-Produkte

Informationen zu tatsächlichen Patch-Versionen und Produktmatrix entnehmen Sie bitte den offiziellen F5-Ankündigungen oder den Sicherheitsbulletins der Distributionen. Selbst wenn die Version im betroffenen Bereich liegt, ist normalerweise das Vorhandensein einer bestimmten rewrite-Konfigurationssequenz erforderlich, um die Schwachstelle auszulösen.

Das Skript gibt sowohl die aktuelle NGINX-Version als auch die Ergebnisse der Konfigurationsüberprüfung aus:

  • Version im Bereich 0.6.27 - 1.30.1 und Konfiguration erfüllt Risikosequenz: NGINX aktualisieren oder Konfiguration anpassen.
  • Version im Bereich 0.6.27 - 1.30.1 aber Konfiguration erfüllt keine Risikosequenz: Update empfohlen, aber der Scanner hat keine auslösende Konfiguration gefunden.
  • Konfiguration erfüllt Risikosequenz aber Version nicht im betroffenen Bereich: Konfiguration überprüfen und gepatchte Version beibehalten.

Verwendung

Direktes Scannen der vollständigen NGINX-Konfiguration auf dem aktuellen Rechner:

root@kitploit:~
python3 scan_rift.py

Das Skript führt aus:

root@kitploit:~
nginx -T

Wenn der aktuelle Benutzer nicht berechtigt ist, die vollständige Konfiguration zu lesen, verwenden Sie sudo:

root@kitploit:~
sudo python3 scan_rift.py

Sie können auch eine bereits exportierte Konfigurationsdatei scannen:

root@kitploit:~
python3 scan_rift.py /path/to/nginx-full.conf

Beispiel: Konfiguration exportieren und dann scannen:

root@kitploit:~
sudo nginx -T > nginx-full.conf
python3 scan_rift.py nginx-full.conf

Ausgabeerklärung

Wenn keine Risikosequenz gefunden wurde:

root@kitploit:~
--- NGINX Rift Config Scanner (CVE-2026-42945 / CVE-2026-9256) ---
Current NGINX Version: nginx version: nginx/1.23.3
Version Status: Affected version range for NGINX Open Source (0.6.27 - 1.30.1)

[+] No vulnerable CVE-2026-42945 sequences or CVE-2026-9256 patterns detected.

[Recommendation]: Current NGINX version is in the affected range, but no vulnerable config pattern was detected. Upgrade is recommended, but config risk was not found by this scanner.

Wenn eine verdächtige Sequenz gefunden wurde:

root@kitploit:~
--- NGINX Rift Config Scanner (CVE-2026-42945 / CVE-2026-9256) ---
Current NGINX Version: nginx version: nginx/1.23.3
Version Status: Affected version range for NGINX Open Source (0.6.27 - 1.30.1)

[!] VULNERABLE SEQUENCE FOUND (CVE-2026-42945):
    Context: location ~ ^/api/(.*)$ {
    [1. Rewrite With ?] rewrite ^/api/(.*)$ /internal?migrated=true;
    [2. Follow-up $N]   set $original_endpoint $1;

[Action Required]: Current NGINX version is affected and vulnerable config was found. Upgrade NGINX or adjust the reported rewrite pattern.

Wenn das verdächtige Muster CVE-2026-9256 gefunden wurde:

root@kitploit:~
--- NGINX Rift Config Scanner (CVE-2026-42945 / CVE-2026-9256) ---
Current NGINX Version: nginx version: nginx/1.23.3
Version Status: Affected version range for NGINX Open Source (0.6.27 - 1.30.1)

[!] VULNERABLE PATTERN FOUND (CVE-2026-9256):
    Context: location ^~ /wengine-auth-static/ {
    [Rewrite Overlapping Captures] rewrite /wengine-auth-static/((.*)) /?$1$2 break;
    [Context] arguments; overlapping refs: $1/$2

[Action Required]: Current NGINX version is affected and vulnerable config was found. Upgrade NGINX or adjust the reported rewrite pattern.

Nach Erkennung sollte manuell überprüft werden, ob der entsprechende Konfigurationskontext von externen Anfragen erreicht werden kann, und dann NGINX aktualisiert oder die Konfiguration angepasst werden.

Empfehlungen

  • Führen Sie ein Upgrade auf die vom Anbieter veröffentlichte Patch-Version durch.
  • Überprüfen Sie alle rewrite/set-Kombinationen in Kontexten wie location, server, if usw.
  • Vermeiden Sie die Verwendung von unbenannten Erfassungsvariablen wie $1, $2 nach einem rewrite mit ?.
  • Vermeiden Sie die Verkettung mehrerer überlappender Erfassungsgruppen in Redirect oder Arguments, z. B. ^/((.*))$ mit ?$1$2.
  • Betrachten Sie break nicht als Umgehung für CVE-2026-9256; /?$1$2 break wird dennoch ausgelöst.
  • Verwenden Sie stattdessen benannte Erfassungsgruppen, speichern Sie Variablen vorher, teilen Sie die Verarbeitungslogik auf oder entfernen Sie unnötige Query-String-Rewrites.

Einschränkungen

Dieses Skript ist ein statisches Konfigurations-Scan-Tool, das darauf abzielt, schnell risikoreiche Muster zu erkennen. Es ist kein Exploit-Validierungstool.

  • Fehlalarme sind möglich; manuelle Überprüfung im tatsächlichen NGINX-Kontext erforderlich.
  • Komplexe mehrzeilige Direktiven, ungewöhnliche Include-Expansionen oder dynamisch generierte Konfigurationen können die Scanergebnisse beeinflussen.
  • Wenn kein Risiko gefunden wird, bedeutet das nicht absolute Sicherheit; dennoch sollte auf die offizielle Patch-Version aktualisiert werden.

Referenzen

  • depthfirst: https://depthfirst.com/research/nginx-rift-achieving-nginx-rce-via-an-18-year-old-vulnerability
  • NVD CVE-2026-42945: https://nvd.nist.gov/vuln/detail/CVE-2026-42945
  • F5 Advisory K000161019: https://my.f5.com/manage/s/article/K000161019
Tool herunterladen
  • Priorisieren Sie vor dem Patch öffentlich zugängliche NGINX-Dienste und Reverse-Proxy-Einstiegspunkte.
  • Verlassen Sie sich nicht nur auf die Version; die Konfiguration, die die Auslösesequenz enthält, ist ebenfalls entscheidend.