
Scanner de vulnérabilités non destructif pour CVE-2026-25075 dans les serveurs VPN strongSwan. Détecte un sous-dépassement d'entier dans le plugin EAP-TTLS via un AVP conçu, sans provoquer de perturbation.
Détectez en toute sécurité si un serveur VPN strongSwan est vulnérable à la CVE-2026-25075 sans provoquer d'interruption. Consultez l'analyse complète sur le blog de Bishop Fox.
La CVE-2026-25075 est une vulnérabilité de sous-passement d'entier (integer underflow) dans le plugin EAP-TTLS de strongSwan qui permet à des attaquants distants non authentifiés de faire planter le démon IKE via un message EAP-TTLS spécialement conçu. La vulnérabilité affecte toutes les versions de strongSwan de 4.5.0 à 6.0.4, soit plus de 15 ans de versions.
Cet outil effectue des tests de vulnérabilité non destructifs en :
length=1 mais sans charge utile de donnéesL'envoi d'un en-tête AVP avec un champ de longueur invalide mais sans données associées déclenche le sous-passement d'entier à des fins de détection, tout en évitant la corruption du tas (heap) car memcpy(ptr, data, 0) est une opération sans effet. Le serveur reste stable et peut continuer à gérer les connexions.
Serveurs vulnérables : ils accepteront l'AVP malformé et enverront un accusé de réception EAP-TTLS, confirmant la présence de la CVE-2026-25075.
Serveurs corrigés (6.0.5+) : ils rejetteront l'AVP malformé grâce aux contrôles de validation introduits dans le correctif.
Serveurs non concernés : ils ne pourront pas effectuer la poignée de main EAP-TTLS, auquel cas la vulnérabilité est effectivement atténuée.
git clone https://github.com/BishopFox/CVE-2026-25075-check
cd CVE-2026-25075-check
python3 -m pip install pycryptodome tlslite-ng
Testez un serveur strongSwan à l'adresse <TARGET>:<PORT>. Le port IKE par défaut est le 500/UDP.
python3 CVE-2026-25075-check.py <TARGET> [PORT]
$ python3 CVE-2026-25075-check.py 192.168.1.100 500
======================================================================
strongSwan CVE-2026-25075 Vulnerability Scanner
Non-Destructive Detection
======================================================================
[*] Target: 192.168.1.100:500
[*] Testing for CVE-2026-25075 (non-destructive)
[1] IKE_SA_INIT... OK
[2] IKE_AUTH... OK
[3] EAP Identity... OK
[4] TLS handshake... OK
[5] Sending test AVP with length=1 (header only, no data)... SENT
[*] Analyzing server response...
[+] Server sent EAP-TTLS ACK (waiting for more data)
[!] Server accepted AVP with length < 8
[!] Integer underflow vulnerability confirmed
======================================================================
RESULT: VULNERABLE to CVE-2026-25075
Server version likely: 4.5.0 - 6.0.4
Recommendation: Upgrade to strongSwan 6.0.5+
======================================================================
$ python3 CVE-2026-25075-check.py 192.168.1.200 500
======================================================================
strongSwan CVE-2026-25075 Vulnerability Scanner
Non-Destructive Detection
======================================================================
[*] Target: 192.168.1.200:500
[*] Testing for CVE-2026-25075 (non-destructive)
[1] IKE_SA_INIT... OK
[2] IKE_AUTH... OK
[3] EAP Identity... OK
[4] TLS handshake... OK
[5] Sending test AVP with length=1 (header only, no data)... SENT
[*] Analyzing server response...
[!] No response from server
[-] Connection likely closed (AVP rejected)
======================================================================
RESULT: NOT VULNERABLE (or patched)
Server rejected AVP with invalid length
======================================================================
L'outil ne peut détecter la vulnérabilité que si les conditions suivantes sont remplies :
Si l'une de ces conditions n'est pas remplie, l'outil échouera proprement à l'étape correspondante et signalera un résultat INCONCLUSIVE. Par exemple :
Ce code est distribué sous licence MIT.
L'utilisation de cet outil pour attaquer des cibles sans consentement mutuel préalable est illégale. Il incombe à l'utilisateur final de respecter toutes les lois locales, nationales et fédérales applicables. Les développeurs déclinent toute responsabilité et ne sont pas responsables des mauvais usages ou des dommages causés par ce programme.