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-35616-check — Nicht-destruktiver Scanner für CVE-2026-35616, einen Pre-Authentication-API-Bypass in FortiClient EMS. Erkennt die Schwachstelle durch Vergleich von HTTP-Antworten mit und ohne gespoofte SSL-Header, unter Verwendung ausschließlich der Python-Standardbibliothek. | Kitploit
Tools/GitHubGitHub/bishopfox/cve-2026-35616-check
SchwachstellenanalyseExploitationWebanwendungs-ExploitationAPI-SicherheitstestsPenetrationstestsAuthentifizierung
GitHubbishopfox/cve-2026-35616-check

CVE-2026-35616-check

Nicht-destruktiver Scanner für CVE-2026-35616, einen Pre-Authentication-API-Bypass in FortiClient EMS. Erkennt die Schwachstelle durch Vergleich von HTTP-Antworten mit und ohne gespoofte SSL-Header, unter Verwendung ausschließlich der Python-Standardbibliothek.

Repository anzeigen
27vor 5 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

CVE-2026-35616 Vulnerability-Assessment-Tool

Ermitteln Sie gefahrlos, ob ein FortiClient EMS-Server anfällig für CVE-2026-35616 ist, ohne Störungen zu verursachen. Den vollständigen Bericht finden Sie im Bishop-Fox-Blog.

Beschreibung

CVE-2026-35616 ist ein Pre-Authentication-API-Bypass in FortiClient EMS 7.4.5 und 7.4.6, der es entfernten, nicht authentifizierten Angreifern ermöglicht, die zertifikatsbasierte Authentifizierung durch HTTP-Header-Spoofing zu umgehen. Die Django-Anwendung behandelt benutzerkontrollierbare HTTP-Header (X-SSL-CLIENT-VERIFY, X-SSL-CLIENT-CERT) als gleichwertig zu den WSGI-Umgebungsvariablen von Apache mod_ssl, und die Apache-Konfiguration entfernt diese Header niemals. In Kombination mit einer Validierung der Zertifikatskette, die lediglich einen Abgleich von Distinguished-Name-Zeichenketten durchführt (keine kryptografische Signaturprüfung), kann ein Angreifer Zertifikate fälschen und authentifizierten API-Zugriff erlangen. Fortinet hat die Ausnutzung dieser Schwachstelle in freier Wildbahn bestätigt.

Dieses Tool führt nicht-destruktive Schwachstellentests durch, indem es:

  1. eine Basis-POST-Anfrage an /api/v1/fabric_device_auth/fortigate/init ohne manipulierte Header sendet
  • dieselbe POST-Anfrage mit X-SSL-CLIENT-VERIFY: SUCCESS, aber ohne Zertifikatsdaten sendet
  • die beiden Antworten vergleicht, um festzustellen, ob der Header Django erreicht hat
  • Das Senden des Verify-Headers ohne PEM-Zertifikatsdaten löst zwar den Erkennungspfad aus, kann aber keine Authentifizierung durchführen, da keine Zertifikatskette bereitgestellt wird. Der Server bleibt stabil und kann weiterhin Verbindungen verarbeiten.

    • Verwundbare Server liefern unterschiedliche Antworten: Die Basis-Anfrage gibt HTTP 401 ("Certificate not found in request header") zurück, während die manipulierte Anfrage HTTP 500 (Serverfehler) zurückgibt, weil contains_certificate() die Hürde passiert, validate_cert_chain() jedoch bei fehlenden PEM-Daten abstürzt.
    • Gepatchte Server liefern für beide Anfragen identische HTTP-401-Antworten, da der Hotfix Apache-RequestHeader unset-Direktiven hinzufügt, die den manipulierten Header entfernen, bevor er Django erreicht.
    • Nicht-EMS-Server erreichen den Endpunkt nicht, in diesem Fall meldet das Tool ein INCONCLUSIVE-Ergebnis.

    Installation

    root@kitploit:~
    git clone https://github.com/BishopFox/CVE-2026-35616-check
    cd CVE-2026-35616-check
    

    Keine externen Abhängigkeiten. Der Scanner verwendet ausschließlich Module aus der Python-Standardbibliothek.

    Verwendung

    Testen Sie einen FortiClient-EMS-Server unter <TARGET>:<PORT>. Der Standardport ist 443/TCP.

    root@kitploit:~
    python3 CVE-2026-35616-check.py <TARGET> [PORT]
    

    Beispiel: Verwundbarer Server

    root@kitploit:~
    $ python3 CVE-2026-35616-check.py 192.168.1.1
    ======================================================================
    FortiClient EMS CVE-2026-35616 Vulnerability Scanner
    Non-Destructive Detection
    ======================================================================
    
    [*] Target: 192.168.1.1:443
    [*] Testing for CVE-2026-35616 (non-destructive)
    
    [1] Sending baseline POST (no spoof headers)... HTTP 401
    [2] Sending POST with X-SSL-CLIENT-VERIFY: SUCCESS... HTTP 500
    
    [*] Analyzing responses...
    [+] Baseline: 401 — Certificate not found in request header.
    [+] Spoofed:  500 — Server encountered an error, please try again later.
    [!] Spoofed header changed server behavior
    [!] X-SSL-CLIENT-VERIFY is reaching Django (hotfix not applied)
    
    ======================================================================
    RESULT: VULNERABLE to CVE-2026-35616
    Affected versions: FortiClient EMS 7.4.5 - 7.4.6
    Recommendation: Apply Fortinet hotfix or upgrade to 7.4.7+
    ======================================================================
    

    Beispiel: Gepatchter Server

    root@kitploit:~
    $ python3 CVE-2026-35616-check.py 192.168.1.1
    ======================================================================
    FortiClient EMS CVE-2026-35616 Vulnerability Scanner
    Non-Destructive Detection
    ======================================================================
    
    [*] Target: 192.168.1.1:443
    [*] Testing for CVE-2026-35616 (non-destructive)
    
    [1] Sending baseline POST (no spoof headers)... HTTP 401
    [2] Sending POST with X-SSL-CLIENT-VERIFY: SUCCESS... HTTP 401
    
    [*] Analyzing responses...
    [+] Baseline: 401 — Certificate not found in request header.
    [+] Spoofed:  401 — Certificate not found in request header.
    [-] Responses identical (header stripped by Apache)
    
    ======================================================================
    RESULT: NOT VULNERABLE (hotfix applied)
    Apache is stripping X-SSL-CLIENT-VERIFY before it reaches Django
    ======================================================================
    

    Voraussetzungen

    Das Tool kann die Schwachstelle nur erkennen, wenn die folgenden Bedingungen erfüllt sind:

    • Auf dem Zielsystem läuft FortiClient EMS 7.4.5 oder 7.4.6
    • Die EMS-Weboberfläche erreichbar ist
    • Der Endpunkt /api/v1/fabric_device_auth/fortigate/init existiert und die Authentifizierung cert_chain_approved verwendet

    Wenn eine Bedingung nicht erfüllt ist, meldet das Tool ein INCONCLUSIVE-Ergebnis.

    Lizenz

    Dieser Code wird unter einer MIT-Lizenz verteilt.

    Rechtlicher Haftungsausschluss

    Die Verwendung dieses Tools zum Angriff auf Ziele ohne vorherige gegenseitige Zustimmung ist illegal. Es liegt in der Verantwortung des Endbenutzers, alle geltenden lokalen, Landes- und Bundesgesetze einzuhalten. Die Entwickler übernehmen keine Haftung und sind nicht für Missbrauch oder Schäden verantwortlich, die durch dieses Programm verursacht werden.

    Siehe auch

    • Fortinet Advisory FG-IR-26-099
    • Bishop Fox Blog: Vollständige technische Analyse
    • NVD — CVE-2026-35616
    Tool herunterladen