Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach exposed TLS listener
-
DeliveryCraft ClientHello with oversized session_id_len
-
ExploitSend single handshake packet
-
ExecutionTrigger out-of-bounds read in mg_tls_server_recv_hello()
-
ImpactCrash HTTPS/MQTTS/WSS service (DoS)
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Bounds checking, read limits
MITRE ATT&CK
1 technique across 1 tactic: Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The target must run a TLS server endpoint (HTTPS, MQTTS, or WSS) built with Mongoose's built-in TLS stack (MG_TLS_BUILTIN) on a version before 7.22; the only prerequisite is network reachability of that TLS listener. No authentication, no user interaction, and no non-default handshake option are needed - the attacker simply sets an oversized session_id_len in a standard ClientHello. Exploitation is limited to deployments that actually use MG_TLS_BUILTIN: builds linking mbedTLS or OpenSSL instead of the built-in TLS are not affected, and devices whose TLS ports are firewalled to trusted networks are not remotely reachable. |
| Impact | The CVSS 4.0 vector (AV:N/AC:L/AT:N/PR:N/UI:N) confirms this is network-reachable, low-complexity, unauthenticated, and requires no user interaction - an attacker only needs to reach the TLS listener. Impact is availability-only: the 4.0 vector sets VC:N/VI:N/VA:H, so despite the 'Information Disclosure' tag this is realistically a crash/DoS rather than a confirmed data-leak primitive; treat the info-disclosure characterization as unconfirmed by the scoring. The 8.7 (High) base score is driven entirely by easy remote availability impact. No EPSS score, KEV listing, or public POC was provided, so real-world exploitation pressure is currently low-to-moderate: the barrier to weaponizing a one-packet crash is minimal, but there is no evidence of active exploitation. This is a genuine priority for internet-exposed embedded/IoT devices running the built-in TLS stack, where a single ClientHello can take a service offline, but lower priority for deployments that use mbedTLS/OpenSSL instead of MG_TLS_BUILTIN. |
| Exploit ScenarioDerived | An attacker locates an internet-exposed embedded device serving HTTPS, MQTTS, or WSS via Mongoose's built-in TLS, then sends a single crafted TLS ClientHello whose session_id length byte exceeds the received data length. The malformed handshake causes mg_tls_server_recv_hello() to read past the receive buffer and crash the service, denying availability with one unauthenticated packet; no public POC is currently identified but the trigger is trivial to reproduce. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Jul 09, 2026
Denial of service in Cesanta Mongoose before 7.22 lets a remote, unauthenticated attacker crash any TLS service (HTTPS, MQTTS, or WSS) built on the MG_TLS_BUILTIN stack by sending a single crafted TLS ClientHello whose session_id_len byte is used as an unvalidated buffer index, triggering an out-of-bounds read. The flaw sits in the built-in TLS server handshake function mg_tls_server_recv_hello() and requires no authentication or user interaction. There is no public exploit identified at time of analysis and it is not listed in CISA KEV, but the trigger is trivial and the issue was disclosed by VulnCheck.
RemediationAI
Vendor-released patch: 7.22 - upgrade the Mongoose library to 7.22 or later and rebuild/redeploy any firmware or service that embeds it (release: https://github.com/cesanta/mongoose/releases/tag/7.22; fixing commit c288ac1f38424ffdd4d2fd5e1893fd4962642db3). Because Mongoose is compiled into products, patching requires a new build and firmware/binary update rather than a package upgrade, so inventory all devices and applications linking it. If you cannot immediately rebuild, the practical compensating control is to switch the TLS backend from MG_TLS_BUILTIN to mbedTLS or OpenSSL (which are not affected by this parser), accepting the added dependency footprint, or to restrict network exposure of the affected HTTPS/MQTTS/WSS ports to trusted networks via firewall/ACLs or a TLS-terminating reverse proxy that validates the handshake - the trade-off being reduced reachability for legitimate remote clients. See the VulnCheck advisory (https://www.vulncheck.com/advisories/cesanta-mongoose-out-of-bounds-read-in-mg-tls-builtin-clienthello-session-id-parsing) for details.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
Mongoose is Cesanta's embedded C networking library widely used in IoT and embedded devices to provide HTTP, MQTT and WebSocket servers/clients, including an optional self-contained TLS implementation selected via the MG_TLS_BUILTIN build option (as opposed to linking mbedTLS or OpenSSL). The vulnerability is a CWE-125 out-of-bounds read in the built-in TLS server's ClientHello parser, mg_tls_server_recv_hello(): the single-byte session_id length field from the ClientHello is taken directly from attacker input and used as an index/offset into the receive buffer without bounds-checking it against the actual number of bytes received. Because the legacy TLS session_id length can be as large as 32 (0x20) and is fully attacker-controlled, a value larger than the buffered data causes the parser to read past the end of the receive buffer during handshake processing.
Know when Mongoose gets its next vulnerability
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N
Single unauthenticated ClientHello reaches the TLS parser (AV:N/AC:L/PR:N/UI:N); impact is a crash only, so C:N/I:N/A:H with no scope change.
Primary rating from Vendor (VulnCheck).
CVSS VectorVendor: VulnCheck
DescriptionCVE.org
Cesanta Mongoose before 7.22 contains an out-of-bounds read in the built-in TLS server function mg_tls_server_recv_hello(), which uses an attacker-controlled session_id_len byte from a TLS ClientHello as a buffer index without validating it against the length of received data. A remote, unauthenticated attacker can send a single crafted ClientHello with an oversized session id length to read past the receive buffer, crashing any HTTPS, MQTTS, or WSS service built on MG_TLS_BUILTIN.
Executive ViewAI
Cesanta Mongoose before version 7.22 contains a denial-of-service vulnerability affecting HTTPS, MQTTS, and WebSocket Secure services built on its TLS stack. Unauthenticated attackers can crash these services with a single crafted request, and while no public exploit has been identified at time of analysis, the trivial attack vector poses immediate availability and business continuity risks.
Apply vendor patch.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
A buffer overflow occurs when a program writes more data to a memory buffer than it was allocated to hold, causing the excess data to spill into adjacent memory regions.
Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.
Mongoose ODM for Node.js before version 8.9.5 contains a search injection vulnerability when using $where filters with p
An exploitable stack buffer overflow vulnerability exists in the MQTT packet parsing functionality of Cesanta Mongoose 6
An exploitable use-after-free vulnerability exists in the HTTP server implementation of Cesanta Mongoose 6.8. Rated crit
An exploitable memory corruption vulnerability exists in the Websocket protocol implementation of Cesanta Mongoose 6.8.
An exploitable memory corruption vulnerability exists in the Websocket protocol implementation of Cesanta Mongoose 6.8.
Prototype Pollution in GitHub repository automattic/mongoose prior to 7.3.4. Rated critical severity (CVSS 9.8), this vu
Prototype Pollution in GitHub repository automattic/mongoose prior to 6.4.6. Rated critical severity (CVSS 9.8), this vu
An integer overflow in parse_mqtt in mongoose.c in Cesanta Mongoose 6.16 allows an attacker to achieve remote DoS (infin
Mongoose before 8.8.3 can improperly use $where in match, leading to search injection. Rated critical severity (CVSS 9.1
The mg_tls_init function in Cesanta Mongoose HTTPS server 7.0 (compiled with OpenSSL support) is vulnerable to remote OO
The mg_tls_init function in Cesanta Mongoose HTTPS server 7.0 and 6.7-6.18 (compiled with mbedTLS support) is vulnerable
The mg_http_serve_file function in Cesanta Mongoose HTTP server 7.0 is vulnerable to remote OOB write attack via connect
EUVD-2026-42605
GHSA-cvgj-gr8r-q762
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB