SmarterMail Auth Bypass via Password Reset to Pre-Auth RCE (CVE-2025-52691 / WT-2026-0001)
by ninjazan420 (chained with watchTowr Labs' original CVE-2025-52691 / WT-2026-0001 research) · 2026-07-06
- Severity
- Critical
- CVE
- CVE-2025-52691
- Category
- web
- Affected product
- SmarterMail (SmarterTools webmail/mail server)
- Affected versions
- Build 9406 and earlier / Build 16.3.6989.16341 and earlier (CVE-2025-52691, fixed in Build 9413); auth-bypass component (WT-2026-0001) affects builds up to 9510, fixed in Build 9511
- Disclosed
- 2026-07-06
- Patch status
- patched
Tags
References
Archive entry
intelseclab/poc-archiveMetadata
| Field | Value |
|---|---|
| Date Added | 2026-07-06 |
| Last Updated | 2026-07-06 |
| Author / Researcher | ninjazan420 (chained with watchTowr Labs’ original CVE-2025-52691 / WT-2026-0001 research) |
| CVE / Advisory | CVE-2025-52691 |
| Category | web |
| Severity | Critical |
| CVSS Score | 10.0 (per NVD) |
| Status | Weaponized |
| Tags | smartermail, smartertools, webmail, authentication-bypass, password-reset, rce, volume-mounts, pre-auth, watchtowr, python |
| Related | WT-2026-0001 (SmarterMail authentication bypass via password reset, no CVE assigned) |
Affected Target
| Field | Value |
|---|---|
| Software / System | SmarterMail (SmarterTools webmail/mail server) |
| Versions Affected | Build 9406 and earlier / Build 16.3.6989.16341 and earlier (CVE-2025-52691, fixed in Build 9413); auth-bypass component (WT-2026-0001) affects builds up to 9510, fixed in Build 9511 |
| Language / Platform | Python 3 PoC targeting a Windows-hosted SmarterMail web/API service |
| Authentication Required | No (pre-authentication chain) |
| Network Access Required | Yes (HTTP/HTTPS to the SmarterMail management API, default port 9998) |
Summary
This PoC chains two SmarterMail vulnerabilities into a single pre-authentication-to-RCE exploit. First (WT-2026-0001), the /api/v1/auth/force-reset-password endpoint accepts a password-reset request that sets a new password for an arbitrary (including sysadmin) account without validating the caller’s identity or the supplied OldPassword — the endpoint trusts client-supplied IsSysAdmin/Username fields rather than verifying an authenticated session or a legitimate reset token. Second (CVE-2025-52691), once authenticated as admin, SmarterMail’s “Volume Mounts” settings feature lets an admin register an arbitrary OS command to run under the service’s (SYSTEM) privileges, providing direct remote code execution. The PoC (exploit.py) automates all three steps: reset the admin password, log in with it, and create a malicious volume mount containing a PowerShell reverse-shell command, yielding a SYSTEM shell on the target.
Vulnerability Details
Root Cause
Phase 1 — Auth bypass (WT-2026-0001): the force-reset-password endpoint performs no server-side verification that the caller is already authenticated or possesses the current password before applying a new one; it merely accepts JSON fields describing what account to reset:
| |
Sending an arbitrary OldPassword (“dummy”) still results in a successful reset because the server never checks it against the account’s real current password.
Phase 3 — RCE (CVE-2025-52691): the /api/v1/settings/volume-mounts API allows a (now-authenticated) admin to define a mount of "type": "command" whose command field is executed directly by the SmarterMail service process, with no restriction to legitimate mount operations:
| |
Because the SmarterMail service typically runs as SYSTEM on Windows, the injected command executes with SYSTEM privileges.
Attack Vector
- Phase 1 — Authentication bypass: POST to
/api/v1/auth/force-reset-passwordwithIsSysAdmin: "true", a targetUsername(defaultadmin), a bogusOldPassword, and an attacker-chosenNewPassword/ConfirmPassword. The server resets the account’s password without validating the old one. - Phase 2 — Admin login: POST the new credentials to
/api/v1/auth/login; the server returns a session/bearer token used for subsequent authenticated API calls. - Phase 3 — RCE via Volume Mounts: POST to
/api/v1/settings/volume-mountscreating atype: "command"mount whosecommandis a PowerShell one-liner that opens a TCP reverse shell to an attacker-controlledIP:port. - Shell delivery: SmarterMail executes the mount’s command, and the attacker’s waiting
nc -lvnp <port>listener receives an interactive SYSTEM shell.
Impact
An unauthenticated remote attacker can fully compromise a SmarterMail server: take over the sysadmin account, then achieve remote code execution as SYSTEM — enabling complete control of the mail server, access to all hosted mailboxes, lateral movement into the internal network, and persistent backdoor installation.
Environment / Lab Setup
Target: SmarterMail Build 9406 or earlier (or Build 16.3.6989.16341 or earlier) /
any build up to 9510 for the WT-2026-0001 auth-bypass component,
management API reachable on TCP/9998 (default)
Attacker: Python 3.6+, pip package: requests
netcat (nc) for the reverse-shell listener
curl (optional, for manual target/version checks)
Linux/macOS/Windows(WSL)
Proof of Concept
PoC Script
See
exploit.py,run_exploit.sh,setup_venv.sh,activate_exploit.sh,deactivate_exploit.sh, andconfig/default_config.json/config/user_config.jsonin this folder.
| |
On success the target’s admin password is set to the attacker-chosen value and a SYSTEM-level PowerShell reverse shell connects back to ATTACKER_IP:4444.
Detection & Indicators of Compromise
Signs of compromise:
- Sysadmin password changed with no corresponding legitimate password-reset request from IT staff
- New or modified Volume Mount entries of type “command” in SmarterMail settings
- Unexpected
powershell.exe/cmd.exechild processes spawned by the SmarterMail service (SYSTEM) with outbound network connections - New unauthorized administrator sessions or SmarterMail admin panel logins from unfamiliar IPs
Remediation
| Action | Detail |
|---|---|
| Primary fix | Upgrade SmarterMail to Build 9413 or later (fixes CVE-2025-52691 pre-auth RCE) and to Build 9511 or later (fixes the WT-2026-0001 password-reset authentication bypass) |
| Interim mitigation | Restrict network access to the SmarterMail management API (port 9998) to trusted administrative hosts only; disable or tightly restrict the Volume Mounts feature; monitor for unauthenticated calls to /api/v1/auth/force-reset-password; rotate all admin credentials after patching |
References
- Source repository
- watchTowr Labs original research
- watchTowr Labs blog: attackers-with-decompilers-strike-again-smartertools-smartermail-wt-2026-0001-auth-bypass
Notes
Mirrored from https://github.com/ninjazan420/CVE-2025-52691-PoC-SmarterMail-authentication-bypass-exploit-WT-2026-0001 on 2026-07-06. This tool combines the author’s own implementation of the WT-2026-0001 auth-bypass with the previously disclosed CVE-2025-52691 RCE technique from watchTowr Labs; the 3-phase attack (auth-bypass, admin login, RCE via Volume Mounts) matches watchTowr’s disclosed technical details.
| |