
Reproduction de cve-2025-0282-ivanti_rce_reproduction
CVSS 9.0 — CRITIQUE | Zero-day activement exploitée | Découverte en janvier 2025
CVE-2025-0282 est une vulnérabilité de débordement de tampon basé sur la pile (CWE-121 / CWE-787) dans le composant de traitement IFT/TLS d'Ivanti Connect Secure (ICS), d'Ivanti Policy Secure (IPS) et des ZTA Gateways d'Ivanti. Cette faille permet à un attaquant distant non authentifié d'obtenir une exécution de code arbitraire sur l'appliance cible avec les privilèges root.
La vulnérabilité a été divulguée le 8 janvier 2025 après avoir été observée en cours d'exploitation active en tant que zero-day. Elle a été attribuée à l'acteur de menace lié à la Chine, suivi sous le nom de UNC5337 par Mandiant. La CISA a ajouté cette CVE à son catalogue des vulnérabilités connues et exploitées (KEV) dans les 72 heures suivant la divulgation publique.
La vulnérabilité réside dans le chemin de traitement des paquets IFT (Internal Forwarding Table) / TLS de l'interface de gestion HTTPS de l'appliance. Lors de l'analyse de messages de handshake TLS malformés ou de trames IFT spécialement conçues, le code copie des données contrôlées par l'attaquant dans un tampon de pile de taille fixe sans vérification appropriée des limites :
memcpy(stack_buffer, attacker_data, attacker_controlled_length); // no length check
Étant donné que le tampon de destination réside sur la pile, une charge utile surdimensionnée écrase :
| Produit | Versions concernées | Version corrigée |
|---|---|---|
| Ivanti Connect Secure | < 22.7R2.5 | 22.7R2.5 |
| Ivanti Policy Secure | < 22.7R1.2 | 22.7R1.2 |
| ZTA Gateways | < 22.7R2.3 | 22.7R2.3 |
Remarque : Ivanti a confirmé que la gamme de versions 22.6 est également vulnérable. Les clients qui utilisent encore ICS 9.x ou 22.4 sont tout aussi exposés.
sslvpn ou dsaccess/tmp/*.py, .sslvpn_config_upload ou d'entrées cron inattenduesscapy, socket et sslClonez ce dépôt :
git clone https://github.com/your-org/cve-2025-0282-reproduction
cd cve-2025-0282-reproduction
Installez les dépendances :
pip install -r requirements.txt
(Prérequis : scapy, argparse, socket — socket fait partie de la bibliothèque standard)
Exécutez le PoC contre votre cible :
python exploit.py --target 192.168.1.100 --port 8443
Pour spécifier une taille de charge utile personnalisée :
python exploit.py --target 192.168.1.100 --port 8443 --payload-size 4096
Activez la sortie de débogage :
python exploit.py --target 192.168.1.100 --port 8443 --verbose
memcpy dans un tampon de pile de 1024 octets sans vérification des limitesImportant : Le code fourni est destiné uniquement à des fins éducatives et de tests autorisés. Il démontre la condition de débordement de tampon et provoquera un déni de service (crash) sur les cibles non corrigées. Exécuter ce code contre des systèmes que vous ne possédez pas ou pour lesquels vous ne disposez pas d'une autorisation écrite de test est illégal.
Voir exploit.py dans ce dépôt.
Le script accepte les arguments suivants :
usage: exploit.py [-h] --target TARGET [--port PORT] [--payload-size PAYLOAD_SIZE] [--verbose]
CVE-2025-0282 Ivanti Stack Buffer Overflow Reproduction PoC
options:
-h, --help show this help message and exit
--target TARGET Target Ivanti appliance IP or hostname
--port PORT Target port (default: 8443)
--payload-size PAYLOAD_SIZE
Size of overflow payload in bytes (default: 4096)
--verbose Enable verbose/debug output
Ce dépôt est fourni uniquement à des fins de recherche en sécurité autorisée et à des fins éducatives. Les auteurs ne sont pas responsables de toute utilisation abusive de ce code. L'exploitation non autorisée de CVE-2025-0282 est illégale et contraire à l'éthique. Obtenez toujours une autorisation écrite explicite avant de tester un système.
| Champ | Détail |
|---|
| Vecteur | Réseau |
| Complexité | Faible |
| Privilèges | Aucun |
| Interaction utilisateur | Aucune |
| Portée | Inchangée |
| Confidentialité | Élevée |
| Intégrité | Élevée |
| Disponibilité | Élevée |
| Action | Détail |
|---|
| Corriger immédiatement | Mettez à niveau vers ICS >=22.7R2.5, IPS >=22.7R1.2, ZTA >=22.7R2.3 |
| Restreindre l'accès réseau | Limitez l'interface de gestion HTTPS aux adresses IP de confiance uniquement |
| Activer la MFA | Atténue les mouvements latéraux post-exploitation |
| Surveiller les journaux | Surveillez les anomalies TLS et les crashs de processus inattendus |
| Rechercher les IOC | Vérifiez les TTP d'UNC5337 (extraction d'identifiants, outils de tunnel) |