Skip to main content

Cesanta Mongoose CVE-2026-6985

| EUVDEUVD-2026-25661 MEDIUM
Loop with Unreachable Exit Condition (Infinite Loop) (CWE-835)
2026-04-25 VulDB
5.5
CVSS 4.0 · Vendor: VulDB
View

Attack ChainAIDerived

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

  1. Access
    Craft TCP packet with malformed option length
  2. Delivery
    Send to Mongoose listening port
  3. Exploit
    Trigger handle_opt parser
  4. Execution
    Parser enters infinite loop
  5. Persist
    Service becomes unresponsive
  6. Impact
    Deny legitimate requests

Vulnerability Assessment

Weakness
CWE
ASVS 5.0
V15 - Secure Coding and Architecture Loop termination conditions
MITRE ATT&CK

1 technique across 1 tactic: Impact

The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up.

Exploitation Conditions

The vulnerability is triggered by remote delivery of a specially crafted TCP packet with a manipulated optlen value in the TCP option header during the connection establishment phase. No special authentication, user interaction, or non-default configuration is required; default Mongoose instances listening on network interfaces are vulnerable. The attack succeeds against any Mongoose deployment version 7.20 or earlier that exposes TCP services to untrusted networks. Limitations on exploitation: (1) the infinite loop is bound by TCP connection timeout mechanisms (typically 30-120 seconds depending on OS configuration), after which the connection is torn down and CPU is released; (2) modern systems with process resource limits or container orchestration may automatically restart crashed/hung services, limiting sustained impact; (3) intrusion detection systems or network firewalls with deep packet inspection may detect and filter malformed TCP options, though this depends on deployment posture.

Impact

CVSS score of 5.3 with AV:N/AC:L/PR:N/UI:N reflects a network-accessible denial of service with no special privileges or user interaction required, but limited impact (availability only; no confidentiality or integrity loss). The CVSS vector includes E:P (Proof of Concept available) and RL:O (Official Fix available), strengthening evidence of real-world exploitability. However, CVSS base score of 5.3 falls below critical thresholds; the real-world risk depends on deployment context: embedded systems with limited redundancy face higher operational impact than cloud-hosted instances with auto-scaling. No EPSS or CVSS temporal/environmental modifiers provided, but the combination of network-accessible DoS plus public POC warrants prioritized patching in externally-facing deployments. The infinite loop is automatable and requires no user interaction, making it a straightforward target for vulnerability scanning and exploitation by both opportunistic and targeted attackers.

Exploit ScenarioDerived

An attacker crafts a TCP SYN packet with a malformed TCP option header where the optlen parameter is set to a value that causes the handle_opt parser to loop indefinitely. The attacker sends this packet to the Mongoose server's listening port from any network-accessible location without authentication. The server consumes CPU in the infinite loop, becoming unresponsive to legitimate requests until the connection times out or manual intervention restarts the process. Repeated attacks amplify the denial of service across multiple connections.

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

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

Alert me

AnalysisAIv1 – Apr 25, 2026

Remote denial of service in Cesanta Mongoose up to version 7.20 allows unauthenticated attackers to trigger an infinite loop via manipulation of TCP option length parameters in the handle_opt function, causing service unavailability. Publicly available exploit code exists. Patch released in version 7.21.

RemediationAI

Immediately upgrade Cesanta Mongoose to version 7.21 or later. For deployments unable to upgrade immediately, implement network-level mitigations: configure firewalls or load balancers to rate-limit or filter TCP connections with malformed options (if inspection tooling is available), or restrict TCP option processing to trusted sources using IP allowlists. Note that these mitigations do not eliminate the vulnerability and impose operational overhead; they are temporary measures only. The preferred and complete remediation is immediate upgrade to the patched release. Verify the upgrade by checking the library version reported by your Mongoose instance and testing with the public POC available at https://github.com/dwBruijn/CVEs/blob/main/Mongoose/TCP_opt_dos.md to confirm the infinite loop condition no longer occurs.

Affected VersionsENISA

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

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

Cesanta Mongoose is an embedded web server and networking library commonly integrated into IoT devices and embedded systems. The vulnerability resides in the TCP option handler (/src/net_builtin.c), specifically the handle_opt function responsible for parsing TCP options during the three-way handshake. CWE-835 identifies an infinite loop as the root cause class, typically resulting from improper bounds checking or conditional logic in option length validation. The TCP option parsing mechanism processes optional fields appended to TCP headers; malformed or specially crafted optlen values bypass validation logic, causing the parser to enter an uncontrollable loop consuming CPU resources until the connection times out or the process is killed.

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

Primary rating from Vendor (VulDB) · only source for this CVE.

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

4
PoC Detected
Apr 29, 2026 - 19:05 vuln.today
Public exploit code
CVSS changed
Apr 25, 2026 - 17:22 NVD
5.3 (MEDIUM) 5.5 (MEDIUM)
Patch released
Apr 25, 2026 - 16:30 nvd
Patch available
CVE Published
Apr 25, 2026 - 16:15 nvd
MEDIUM 5.5

DescriptionCVE.org

A weakness has been identified in Cesanta Mongoose up to 7.20. This vulnerability affects the function handle_opt of the file /src/net_builtin.c of the component TCP Option Handler. This manipulation of the argument optlen causes infinite loop. The attack is possible to be carried out remotely. The exploit has been made available to the public and could be used for attacks. Upgrading to version 7.21 is able to resolve this issue. Upgrading the affected component is advised. VulDB has contacted the vendor early and they confirmed quickly, that this issue got fixed already.

Threat Intelligence Overview

EPSS Score
0.0%
Top 87% exploitable
Exploit
POC
Public exploit code exists
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment 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 Yes
EPSS 0.0%
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
Poc
System Exposure· derived
Open
Automatable
Yes
Human Impact· derived
Medium
Technical Impact
Partial

Priority Score

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

Attack Technique

Denial of Service attacks render applications or systems unavailable by overwhelming resources or triggering failure conditions.

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

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