Reproduktion von cve-2025-0282-ivanti_rce_reproduction
CVSS 9.0 — KRITISCH | Aktiv ausgenutzte Zero-Day-Schwachstelle | Entdeckt im Januar 2025
CVE-2025-0282 ist eine Stack-basierte Pufferüberlauf-Schwachstelle (CWE-121 / CWE-787) in der IFT/TLS-Verarbeitungskomponente von Ivanti Connect Secure (ICS), Ivanti Policy Secure (IPS) und Ivanti ZTA Gateways. Der Fehler ermöglicht es einem nicht authentifizierten, entfernten Angreifer, beliebigen Code mit Root-Rechten auf dem Zielgerät auszuführen.
Die Schwachstelle wurde am 8. Januar 2025 offengelegt, nachdem sie als Zero-Day in aktiver Ausnutzung beobachtet wurde. Sie wurde dem von Mandiant verfolgten, China-nahen Bedrohungsakteur UNC5337 zugeschrieben. CISA hat diese CVE innerhalb von 72 Stunden nach der öffentlichen Offenlegung in seinen Katalog bekannter ausgenutzter Schwachstellen (KEV) aufgenommen.
Die Schwachstelle befindet sich im IFT- (Internal Forwarding Table) / TLS-Paketverarbeitungspfad der HTTPS-Verwaltungsoberfläche des Geräts. Beim Parsen fehlerhaft formatierter TLS-Handshake-Nachrichten oder speziell konstruierter IFT-Frames kopiert der Code Angreifer-kontrollierte Daten ohne ordnungsgemäße Grenzprüfung in einen Stack-Puffer fester Größe:
memcpy(stack_buffer, attacker_data, attacker_controlled_length); // no length check
Da sich der Zielpuffer auf dem Stack befindet, überschreibt eine überdimensionierte Nutzlast:
| Feld | Detail |
|---|---|
| Vektor | Netzwerk |
| Komplexität | Niedrig |
| Berechtigungen | Keine |
| Benutzerinteraktion | Keine |
| Auswirkungsbereich | Unverändert |
| Vertraulichkeit | Hoch |
| Integrität | Hoch |
| Verfügbarkeit | Hoch |
| Produkt | Betroffene Versionen | Behobene Version |
|---|---|---|
| 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 |
Hinweis: Ivanti hat bestätigt, dass auch die 22.6-Version betroffen ist. Kunden, die noch ICS 9.x oder 22.4 verwenden, sind gleichermaßen gefährdet.
sslvpn- oder dsaccess-Diensten/tmp/*.py, .sslvpn_config_upload oder unerwarteten Cron-Einträgenscapy, socket und sslKlonen Sie dieses Repository:
git clone https://github.com/your-org/cve-2025-0282-reproduction
cd cve-2025-0282-reproduction
Installieren Sie die Abhängigkeiten:
pip install -r requirements.txt
(Anforderungen: scapy, argparse, socket — socket ist Standardbibliothek)
Führen Sie den PoC gegen Ihr Ziel aus:
python exploit.py --target 192.168.1.100 --port 8443
Um eine benutzerdefinierte Nutzlastgröße anzugeben:
python exploit.py --target 192.168.1.100 --port 8443 --payload-size 4096
Debug-Ausgabe aktivieren:
python exploit.py --target 192.168.1.100 --port 8443 --verbose
memcpy in einen 1024-Byte-Stack-Puffer ohne Grenzprüfung ausWichtig: Der bereitgestellte Code dient nur zu Bildungs- und autorisierten Testzwecken. Er demonstriert die Pufferüberlauf-Bedingung und verursacht einen Denial-of-Service (Absturz) auf nicht gepatchten Zielsystemen. Die Ausführung gegen Systeme, die Sie nicht besitzen oder für die Sie keine schriftliche Testgenehmigung haben, ist illegal.
Siehe exploit.py in diesem Repository.
Das Skript akzeptiert die folgenden Argumente:
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
| Aktion | Detail |
|---|---|
| Sofort patchen | Upgrade auf ICS >=22.7R2.5, IPS >=22.7R1.2, ZTA >=22.7R2.3 |
| Netzwerkzugriff einschränken | HTTPS-Verwaltungsoberfläche nur auf vertrauenswürdige IPs beschränken |
| MFA aktivieren | Mildert laterale Bewegung nach der Ausnutzung |
| Protokolle überwachen | Auf TLS-Anomalien und unerwartete Prozessabstürze achten |
| Nach IOCs suchen | Auf UNC5337-TTPs prüfen (Credential-Dumping, Tunnel-Tools) |