Skip to content
KitploitKITPLOIT
ToolsExploitsBlog
Log in
Einreichen
ToolsExploitsBlog
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
220vor 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
  2. dieselbe POST-Anfrage mit X-SSL-CLIENT-VERIFY: SUCCESS, aber ohne Zertifikatsdaten sendet
  3. 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

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.

python3 CVE-2026-35616-check.py <TARGET> [PORT]

Beispiel: Verwundbarer Server

$ 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

$ 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