Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
CVE-2026-35616-check — Scanner non distruttivo per CVE-2026-35616, un bypass dell'API pre-autenticazione in FortiClient EMS. Rileva la vulnerabilità confrontando le risposte HTTP con e senza header SSL spoofati, utilizzando solo la libreria standard di Python. | Kitploit
Strumenti/GitHubGitHub/bishopfox/cve-2026-35616-check
Analisi delle VulnerabilitàExploitSfruttamento di Applicazioni WebTest di Sicurezza delle APIPenetration TestingAutenticazione
GitHubbishopfox/cve-2026-35616-check

CVE-2026-35616-check

Scanner non distruttivo per CVE-2026-35616, un bypass dell'API pre-autenticazione in FortiClient EMS. Rileva la vulnerabilità confrontando le risposte HTTP con e senza header SSL spoofati, utilizzando solo la libreria standard di Python.

Vedi Repository
275 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

Strumento di valutazione della vulnerabilità CVE-2026-35616

Rileva in sicurezza se un server FortiClient EMS è vulnerabile a CVE-2026-35616 senza causare alcuna interruzione. Consulta l'analisi completa sul blog di Bishop Fox.

Descrizione

CVE-2026-35616 è un bypass API pre-autenticazione in FortiClient EMS 7.4.5 e 7.4.6 che consente ad attaccanti remoti non autenticati di aggirare l'autenticazione basata su certificati tramite spoofing delle intestazioni HTTP. L'applicazione Django considera le intestazioni HTTP controllabili dall'utente (X-SSL-CLIENT-VERIFY, X-SSL-CLIENT-CERT) come equivalenti alle variabili d'ambiente WSGI di Apache mod_ssl e la configurazione di Apache non le rimuove mai. In combinazione con una validazione della catena di certificati che esegue solo un confronto di stringhe Distinguished Name (senza verifica crittografica delle firme), un attaccante può contraffare i certificati e ottenere accesso autenticato alle API. Fortinet ha confermato lo sfruttamento in ambienti reali.

Questo strumento esegue test di vulnerabilità non distruttivi:

  1. Invio di una POST di base a /api/v1/fabric_device_auth/fortigate/init senza intestazioni spoofate
  • Invio della stessa POST con X-SSL-CLIENT-VERIFY: SUCCESS ma senza dati del certificato
  • Confronto delle due risposte per determinare se l'intestazione è arrivata a Django
  • L'invio dell'intestazione di verifica senza dati PEM del certificato attiva il percorso di rilevamento ma non può autenticare perché non viene fornita alcuna catena di certificati. Il server rimane stabile e può continuare a gestire le connessioni.

    • Server vulnerabili restituiranno risposte diverse: la richiesta di base restituisce HTTP 401 ("Certificato non trovato nell'intestazione della richiesta") mentre la richiesta spoofata restituisce HTTP 500 (errore del server), perché contains_certificate() supera il controllo ma validate_cert_chain() va in crash a causa dei dati PEM mancanti.
    • Server patchati restituiranno risposte HTTP 401 identiche per entrambe le richieste, perché l'hotfix aggiunge direttive Apache RequestHeader unset che rimuovono l'intestazione spoofata prima che raggiunga Django.
    • Server non EMS non riusciranno a raggiungere l'endpoint, nel qual caso lo strumento riporta un risultato INCONCLUSIVE.

    Installazione

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

    Nessuna dipendenza esterna. Lo scanner utilizza solo i moduli della libreria standard di Python.

    Utilizzo

    Testa un server FortiClient EMS su <TARGET>:<PORT>. La porta predefinita è 443/TCP.

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

    Esempio: Server Vulnerabile

    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+
    ======================================================================
    

    Esempio: Server Patchato

    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
    ======================================================================
    

    Precondizioni

    Lo strumento può rilevare la vulnerabilità solo se sono soddisfatte le seguenti condizioni:

    • Il target esegue FortiClient EMS 7.4.5 o 7.4.6
    • L'interfaccia web di EMS è accessibile
    • L'endpoint /api/v1/fabric_device_auth/fortigate/init esiste e utilizza l'autenticazione cert_chain_approved

    Se una qualsiasi condizione non è soddisfatta, lo strumento riporterà un risultato INCONCLUSIVE.

    Licenza

    Questo codice è distribuito sotto una licenza MIT.

    Disclaimer legale

    L'utilizzo di questo strumento per attaccare target senza il preventivo consenso reciproco è illegale. È responsabilità dell'utente finale rispettare tutte le leggi locali, statali e federali applicabili. Gli sviluppatori non si assumono alcuna responsabilità e non sono responsabili di eventuali usi impropri o danni causati da questo programma.

    Vedi anche

    • Advisory Fortinet FG-IR-26-099
    • Blog di Bishop Fox: Analisi Tecnica Completa
    • NVD — CVE-2026-35616
    Scarica lo strumento