Skip to main content

Cesanta Mongoose EUVDEUVD-2026-88089

| CVE-2026-101003 MEDIUM
Stack-based Buffer Overflow (CWE-121)
2026-09-28 VulDB GHSA-g7gm-388f-77vf
5.5
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Reach exposed MQTT broker example
  2. Exploit
    Send crafted MQTT message
  3. Execution
    Overflow stack buffer in fn handler
  4. Impact
    Crash 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 fn handler. No authentication or user interaction is required per the CVSS vector (PR:N/UI:N). The dominant LIMITING factor is that this is example/tutorial code, not the core library - production systems that embed Mongoose but do not build and expose this specific tutorial broker are not affected. Impact is confined to denial of service (VA:L); no code execution or data disclosure is indicated.

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 fn, crashing the process (denial of service). A public proof-of-concept exists (VulDB), but the impact is availability-only and the affected code is example/tutorial code rather than the deployed core library.

This Month Plan within 30 days. Why: MEDIUM severity (CVSS 4.0-6.9).
Patch available 0.5% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – 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

Mongoose 7.10
Mongoose 7.0
Mongoose 7.15
Mongoose 7.3
Mongoose 7.11
Mongoose 7.9
Mongoose 7.13
Mongoose 7.19
Mongoose 7.6
Mongoose 7.2
Mongoose 7.20
Mongoose 7.8
Mongoose 7.1
Mongoose 7.7
Mongoose 7.4
Mongoose 7.17
Mongoose 7.21
Mongoose 7.14
Mongoose 7.18
Mongoose 7.5
Mongoose 7.16
Mongoose 7.12

Affected Packages

euvd mongoose no fix

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

Vendor (VulDB) PRIMARY 5.5 MEDIUM
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
vuln.today AI 5.3 MEDIUM

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.

3.1 AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
4.0 AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:L/SC:N/SI:N/SA:N
Red Hat 5.3 MEDIUM

Primary rating from Vendor (VulDB).

CVSS VectorVendor: VulDB

Attack Vector
Network
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
None
Vulnerable system: Integrity
None
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

1
CVSS changed
Sep 28, 2026 - 06:22 NVD
6.9 (MEDIUM) 5.5 (MEDIUM)

DescriptionCVE.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

EPSS Score
0.5%
Top 62% exploitable
Prevalence
Medium
Mongoose is a widely-embedded C library, but the flaw is in non-deployed tutorial code
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor CIRCL GitHub VulDB

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.

SignalValue
Severity MEDIUM
CISA KEV No
Public POC No
EPSS 0.5%
Patch available Yes
Active threat No
Deciding rule
MEDIUM severity (CVSS 4.0-6.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision· derived
Scheduled
Exploitation
None
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

28
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +28
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

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.

CVE-2025-23061 CRITICAL POC
9.0 Jan 15

Mongoose ODM for Node.js before version 8.9.5 contains a search injection vulnerability when using $where filters with p

CVE-2017-2894 CRITICAL POC
9.8 Nov 07

An exploitable stack buffer overflow vulnerability exists in the MQTT packet parsing functionality of Cesanta Mongoose 6

CVE-2017-2891 CRITICAL POC
9.8 Nov 07

An exploitable use-after-free vulnerability exists in the HTTP server implementation of Cesanta Mongoose 6.8. Rated crit

CVE-2017-2922 CRITICAL POC
9.8 Nov 07

An exploitable memory corruption vulnerability exists in the Websocket protocol implementation of Cesanta Mongoose 6.8.

CVE-2017-2921 CRITICAL POC
9.8 Nov 07

An exploitable memory corruption vulnerability exists in the Websocket protocol implementation of Cesanta Mongoose 6.8.

CVE-2023-3696 CRITICAL POC
9.8 Jul 17

Prototype Pollution in GitHub repository automattic/mongoose prior to 7.3.4. Rated critical severity (CVSS 9.8), this vu

CVE-2022-2564 CRITICAL POC
9.8 Jul 28

Prototype Pollution in GitHub repository automattic/mongoose prior to 6.4.6. Rated critical severity (CVSS 9.8), this vu

CVE-2019-19307 CRITICAL POC
9.8 Nov 26

An integer overflow in parse_mqtt in mongoose.c in Cesanta Mongoose 6.16 allows an attacker to achieve remote DoS (infin

CVE-2024-53900 CRITICAL POC
9.1 Dec 02

Mongoose before 8.8.3 can improperly use $where in match, leading to search injection. Rated critical severity (CVSS 9.1

CVE-2021-26530 CRITICAL POC
9.1 Feb 08

The mg_tls_init function in Cesanta Mongoose HTTPS server 7.0 (compiled with OpenSSL support) is vulnerable to remote OO

CVE-2021-26529 CRITICAL POC
9.1 Feb 08

The mg_tls_init function in Cesanta Mongoose HTTPS server 7.0 and 6.7-6.18 (compiled with mbedTLS support) is vulnerable

CVE-2021-26528 CRITICAL POC
9.1 Feb 08

The mg_http_serve_file function in Cesanta Mongoose HTTP server 7.0 is vulnerable to remote OOB write attack via connect

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy