
Schreibgeschützter Python-Checker, der das Authentifizierungs-Bypass-Verhalten von CVE-2026-20079 in Cisco FMC validiert, indem er nicht authentifizierte und csm_processes-Sitzungsantworten vergleicht.
Ein kleines, bewusst eingeschränktes Validierungswerkzeug für CVE-2026-20079, die Authentifizierungsumgehungs-Schwachstelle im Cisco Secure Firewall Management Center (FMC).
Dieses Repository ist ein Checker, kein Exploit.
Es enthält nicht die Session-Upgrade-, Datei-Schreib-, Befehlsausführungs- oder RCE-Teile der Schwachstellenkette.
Der Checker sendet zwei HTTPS-Anfragen an /help/about.cgi:
CGISESSID=csm_processes.Ein Befund wird nur dann als CONFIRMED markiert, wenn die zweite Antwort:
csm_processes-Session-Kontext identifiziert.Dies bietet eine konservative, schreibgeschützte Möglichkeit, das Authentifizierungsumgehungs-Verhalten zu validieren, das wir in einem Labor reproduziert haben.
Ein negatives Ergebnis beweist nicht, dass die Appliance gepatcht ist.
Die dokumentierte Umgehung erfordert, dass die beim Booten erstellte csm_processes-Session in der Session-Datenbank der Appliance verbleibt. Authentifizierte Dashboard-/Widget-Aktivitäten, cloud-verwaltete UI-Aktivitäten und authentifizierungsbedingte Bereinigungen können sie entfernen. Sobald sie entfernt wurde, kann diese Umgehung diese Session nicht mehr nutzen; ein anschließender Neustart kann sie auf einer betroffenen Appliance neu erstellen. Dies belegt nicht, dass jede erfolgreiche Anmeldung die Umgehung sofort deaktiviert. Siehe VulnCheck's prerequisite analysis.
Bevorzugter Zustand für kontrollierte Laborvalidierung: Testen Sie eine kürzlich neu gestartete Appliance, sobald ihre Weboberfläche verfügbar ist, bevor sich ein Benutzer authentifiziert oder mit der Weboberfläche interagiert. Diese Empfehlung folgt aus den veröffentlichten Session-Voraussetzungen: Sie erhöht die Wahrscheinlichkeit, dass die beim Booten erstellte Session noch existiert, garantiert aber nicht ein positives Ergebnis.
Unterscheiden Sie den Testzustand vom Ergebnis: Eine kürzlich neu gestartete Appliance bietet eine bessere Gelegenheit, dieses Verhalten zu beobachten; ein negatives Ergebnis nach Anmeldung oder Session-Bereinigung belegt nicht, dass die Appliance gepatcht ist. Selbst ein negatives Ergebnis unmittelbar nach dem Neustart ist kein Beweis für den Patch-Status.
Beispielsweise authentifiziert sich ein Benutzer und UI-Aktivität löscht die Session. Wenn der Checker dann eine Weiterleitung oder HTTP 401/403 erhält, meldet er NOT_CONFIRMED: negativ für das beobachtete Verhalten, möglicherweise ein falsch-negatives Ergebnis für die Schwachstellenexposition. Authentifizierung ist kein Patch.
Der Checker kann den Anmeldeverlauf oder die Session-Datenbank nicht beobachten. Er klassifiziert die HTTP-Antwort, daher ist eine vorherige Authentifizierung allein kein Grund, ein negatives Ergebnis zu erzwingen. Andere unerwartete Antworten bleiben INCONCLUSIVE, und Anfragefehler bleiben ERROR.
Verwenden Sie Ciscos Advisory und Software Checker, um die Patch-Exposition zu bestimmen.
Die öffentliche Version hat absichtlich keine Funktionalität für:
Es werden nur literale IP-Adressen akzeptiert, die vom Bediener angegeben werden.
Öffentliche IPs erfordern das explizite Flag --allow-public.
requestsInstallieren:
python3 -m pip install -r requirements.txt
Private/Lab-IP:
python3 CVE-2026-20079-checker.py --host 192.168.1.100
Öffentliche IP, für deren Bewertung Sie autorisiert sind:
python3 CVE-2026-20079-checker.py \
--host 203.0.113.10 \
--allow-public
Erstellen Sie targets.txt:
# One literal IP address per line
192.168.1.100
192.168.1.101
Ausführen:
python3 CVE-2026-20079-checker.py \
--targets targets.txt \
--json results.json \
--csv results.csv
Für eine autorisierte Liste mit öffentlichen IPs:
python3 CVE-2026-20079-checker.py \
--targets targets.txt \
--allow-public \
--workers 4 \
--json results.json
Das Tool akzeptiert absichtlich keine CIDR-Bereiche.
Single-Host-Scans zeigen einen detaillierten Block. Beispielausgabe unter Verwendung der dokumentierten Labor-Appliance (FMC 7.4.2 Build 172) und des Beispielziels 192.168.1.100:
[*] CVE-2026-20079 Read-Only Validation
[*] Target : 192.168.1.100
[*] Endpoint : /help/about.cgi
[*] Mode : Read-only / no exploitation
[+] Appliance : Cisco Secure Firewall Management Center for KVM
[+] Version : 7.4.2
[+] Build : 172
[+] Server : Mojolicious (Perl)
[*] Baseline HTTP : 302
[*] Session HTTP : 200
[*] Session Context : csm_processes
[*] Comparison : baseline=302 -> probe=200
[CONFIRMED] CVE-2026-20079 authentication-bypass behavior observed
[*] Reason : Server returned FMC content with HTTP 200 while explicitly identifying the csm_processes session context.
[*] Summary:
confirmed=1
not_confirmed=0
inconclusive=0
errors=0
[!] Note : NOT_CONFIRMED does not prove the appliance is patched
Scans mit --targets FILE zeigen eine kompakte Tabelle mit den Spalten TARGET, RESULT, VERSION, BASE und PROBE, gefolgt von einer Zusammenfassung. Fehlende Details erscheinen als not observed in der detaillierten Ansicht oder als - in der Tabelle. Produkt- und Session-Kontext-Bezeichnungen sind informativ; sie ändern die Erkennungskriterien nicht. JSON/CSV behalten alle vorhandenen Felder bei und hängen product und session_context an. Weder ein negatives Ergebnis noch fehlende Metadaten belegen den Patch-Status.
| Ergebnis | Bedeutung |
|---|---|
CONFIRMED | Die beobachtete Antwort entspricht dem schreibgeschützten Umgehungsindikator, den dieser Checker verwendet. |
NOT_CONFIRMED | Die Probe gab eine Weiterleitung oder HTTP 401/403 zurück. Die Umgehung wurde nicht beobachtet; die erforderliche Session fehlt möglicherweise. Dies ist nicht gleichbedeutend mit "gepatcht". |
INCONCLUSIVE | FMC-ähnliches oder anderweitig ungewöhnliches Verhalten wurde beobachtet, aber der Checker konnte die Session-Identität nicht bestätigen. |
ERROR | Ein Netzwerk-/TLS-/Anfragefehler verhinderte eine Bestimmung. |
Exit-Codes:
0 — kein bestätigter Befund1 — alle Prüfungen schlugen mit Anfragefehlern fehl2 — mindestens ein bestätigter Befund64 — öffentliches Ziel ohne --allow-public angegebenExit-Code 0 bedeutet kein bestätigter Befund, einschließlich Läufen mit unschlüssigen Ergebnissen oder einer Mischung aus Anfragefehlern und unbestätigten Ergebnissen. Es ist kein Patch-Status-Urteil. Ebenso bedeutet vulnerable_behavior: false in einem Export, dass die Bestätigungskriterien nicht erfüllt wurden.
Während der Entwicklung wurde das schreibgeschützte Verhalten reproduziert gegen:
Cisco Secure Firewall Management Center for KVM
7.4.2 Build 172
Der Zweck der Dokumentation dieser Beobachtung ist die Reproduzierbarkeit; sie ist kein Ersatz für Ciscos autoritative Informationen zu verwundbaren/behobenen Releases.
Siehe docs/LAB-NOTES.md.
Cisco bewertet CVE-2026-20079 als Critical (CVSS 10.0) und gibt an, dass eine erfolgreiche Ausnutzung zu Root-Zugriff führen kann. Cisco hat Fixes/Hotfixes veröffentlicht und meldet aktive Ausnutzung mit Stand August 2026.
Folgen Sie Ciscos aktuellem Advisory und Software Checker, anstatt sich allein auf diesen Scanner zu verlassen.
Führen Sie dieses Werkzeug nur gegen Systeme aus, die Ihnen gehören oder für deren Bewertung Sie eine ausdrückliche Autorisierung haben.
Netzwerksicherheitstests können Überwachungskontrollen, Ratenbegrenzungen, Incident-Response-Prozesse oder Missbrauchssysteme von Dienstanbietern auslösen, selbst wenn die Anfragen schreibgeschützt sind.
MIT. Siehe LICENSE.