Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessReach exposed MQTT broker example
-
ExploitSend crafted MQTT message
-
ExecutionOverflow stack buffer in fn handler
-
ImpactCrash broker process (DoS)
Vulnerability Assessment
| Weakness |
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Stack buffer bounds checking
MITRE ATT&CK
1 technique across 1 tactic: Execution The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Requires a reachable network service running the Cesanta Mongoose MQTT broker TUTORIAL example (tutorials/mqtt/mqtt-server/main.c) at version 7.21 or earlier; the attacker sends a manipulated MQTT message to trigger the stack overflow in the |
| Impact | This is a high-CVSS-number-but-low-real-risk issue. The vendor CVSS 4.0 vector (AV:N/AC:L/PR:N/UI:N) scores 6.9 largely because the remote, unauthenticated attack surface inflates the base score, but the impact metrics tell the real story: VC:N/VI:N/VA:L means NO confidentiality or integrity impact and only LOW availability impact - a denial-of-service class flaw, not code execution, despite the CWE-121 stack-overflow classification. SSVC-style signals: exploitation is proof-of-concept only (E:P, POC exists per VulDB) - NOT active exploitation; there is no CISA KEV listing and no EPSS score provided, so widespread automated exploitation is not evidenced. Two critical caveats reduce priority further: (1) the vulnerable code is in tutorials/mqtt/mqtt-server/main.c - an EXAMPLE/tutorial MQTT broker, not the core Mongoose library - so almost no production deployment runs this code verbatim; and (2) the referenced patch commit diff (a9df523f) touches core mongoose.c (DNS, mg_dtoa, filesystem, HTTP Content-Length/Transfer-Encoding smuggling, HTML escaping) but does NOT visibly modify the named tutorial file, indicating the commit is a release-bundle and the patch-to-description mapping is inconsistent - verify the actual fix with the vendor. Net: low real-world priority. |
| Exploit ScenarioDerived | An attacker with network reachability to a host running the Mongoose MQTT server tutorial example sends a crafted MQTT message that overflows a stack buffer in the connection handler function |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Sep 28, 2026
A stack-based buffer overflow in the Cesanta Mongoose MQTT broker tutorial (tutorials/mqtt/mqtt-server/main.c) allows remote, unauthenticated attackers to crash the broker process by sending a manipulated MQTT message to the example's fn handler. Only deployments that build and expose this specific tutorial server at version 7.21 or earlier are exposed - the flaw lives in example code shipped with the repository rather than the core embedded networking library, so applications that embed Mongoose without compiling this sample are not affected. Publicly available exploit code exists, and the assessed impact is limited to denial of service, with no code execution or data disclosure indicated.
RemediationAI
Vendor-released patch: 7.22 - upgrade Cesanta Mongoose to version 7.22 (release tag https://github.com/cesanta/mongoose/releases/tag/7.22), which incorporates commit a9df523f76f43a38bd53b4232b9cfd4c16869e71 and corrects the stack buffer handling in the MQTT broker tutorial. If upgrading immediately is not possible, the most effective compensating control is simply to stop building and exposing the tutorials/mqtt/mqtt-server sample in production - the code is demonstration material and is generally not needed in deployed services, and removing it eliminates the attack surface entirely with no functional loss to applications that embed the core library. Where the tutorial broker must remain reachable, restrict network access to it via firewall rules or bind it to a loopback/management interface only, and front it with a reverse proxy or MQTT-aware filter that enforces maximum packet and payload sizes; note that these are partial mitigations because any client able to reach the listener unauthenticated can still attempt the overflow, and size limits must be tuned conservatively to avoid rejecting legitimate traffic. Monitoring for repeated broker crashes or restarts provides a detection signal, and organizations should confirm whether their build pipelines compile Mongoose example directories before treating themselves as affected. Advisory references: https://vuldb.com/vuln/410873 and https://vuldb.com/vuln/410873/cti.
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
The issue is a classic CWE-121 stack-based buffer overflow: a fixed-size stack buffer in the MQTT broker tutorial's message-handling function (fn) is populated without adequate bounds checking, so an oversized or malformed MQTT payload overwrites adjacent stack memory. Mongoose is a widely embedded C networking library whose repository ships numerous example servers, and the vulnerable code path is confined to the MQTT tutorial broker under tutorials/mqtt/mqtt-server/main.c, not the reusable core library translation unit. The referenced fix commit (a9df523f76f43a38bd53b4232b9cfd4c16869e71) bundles a broad set of hardening changes across mongoose.c - including bounds checks in mg_dtoa, iteration guards in multipart parsing, a Content-Length/Transfer-Encoding conflict check in mg_http_parse, Windows opendir path-length checks, and HTML escaping of directory listings - consistent with a general defensive sweep in which the tutorial buffer handling was also corrected. Because the overflow is triggerable by network input with no authentication or user interaction per the CVSS vector (PR:N/UI:N), the practical failure mode is a remote crash of the tutorial broker rather than a reliable control-flow hijack.
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:L/SC:N/SI:N/SA:N/E:P
Remote unauthenticated network trigger (AV:N/AC:L/PR:N/UI:N); vendor impact is availability-only DoS (A:L), with no demonstrated confidentiality or integrity effect.
Primary rating from Vendor (VulDB).
CVSS VectorVendor: VulDB
Lifecycle Timeline
1DescriptionCVE.org
A weakness has been identified in Cesanta Mongoose up to 7.21. Affected by this vulnerability is the function fn of the file tutorials/mqtt/mqtt-server/main.c of the component MQTT Broker. Executing a manipulation can lead to stack-based buffer overflow. The attack can be launched remotely. The exploit has been made available to the public and could be used for attacks. Upgrading to version 7.22 addresses this issue. This patch is called a9df523f76f43a38bd53b4232b9cfd4c16869e71. Upgrading the affected component is advised.
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.
A stack-based buffer overflow occurs when a program writes more data to a buffer located on the stack than it was allocated to hold.
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-88089
GHSA-g7gm-388f-77vf
NVD
CVE.org
EPSS
Vulnrichment
VulDB
Exploit-DB