Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessAuthenticate with low-privilege credentials
-
DeliveryControl or upload SSI-enabled file content
-
ExploitEmbed #include traversal directive (e.g., ../../../etc/passwd)
-
ExecutionTrigger HTTP request processing SSI file
-
Persistmg_ssi() constructs unsanitized path
-
ImpactExfiltrate disclosed file contents from HTTP response
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | Three simultaneous non-default conditions must be present: (1) Mongoose must be compiled with MG_ENABLE_SSI defined - this is a compile-time opt-in, not enabled in default builds; (2) the ssi_pattern runtime configuration must be set to match files served by the web server; and (3) the attacker must be able to place or influence the content of at least one SSI-enabled file (e.g., via a file upload feature, user-controlled template, or other write-capable application path). Authentication is required per CVSS PR:L - unauthenticated exploitation is not indicated. Exploitation is limited to reading files accessible by the Mongoose process account; no code execution or write capability is introduced by this flaw. Deployments without MG_ENABLE_SSI are entirely unaffected regardless of version. |
| Impact | The NVD CVSS 3.1 vector AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N scores 6.5, reflecting network-reachable exploitation requiring low-privilege credentials with high confidentiality impact but no integrity or availability effect. However, two non-default preconditions substantially reduce realistic risk: the MG_ENABLE_SSI compile-time flag must be enabled (it is not the default build), and ssi_pattern must be configured to expose SSI-processed files. Additionally, the attacker must have some application-level ability to influence SSI file content, implying a degree of write access or application-controlled template injection that goes beyond simple network access. EPSS data was not provided. KEV status is absent - active exploitation is not confirmed. No POC has been identified. The combination of compile-time gating and the content-control prerequisite means this is a real but conditionally exploitable vulnerability; it should be prioritized in SSI-enabled Mongoose deployments but is not broadly exploitable across all Mongoose users. |
| Exploit ScenarioDerived | An attacker authenticated with low-privilege credentials to a web application backed by SSI-enabled Mongoose uploads or otherwise influences the content of an SSI-served file, embedding a directive such as |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 20, 2026
Path traversal in Cesanta Mongoose's SSI processing allows an authenticated network attacker to read arbitrary files accessible to the Mongoose process by embedding directory traversal sequences in #include file or #include virtual SSI directives. The mg_ssi() function in src/ssi.c constructs filesystem paths from directive arguments without invoking the existing mg_path_is_sane() validation, bypassing the only guard against traversal. Exploitation is constrained to deployments compiled with MG_ENABLE_SSI and a configured ssi_pattern; no public exploit has been identified at time of analysis.
RemediationAI
Upgrade to Mongoose 7.22 or later, available at https://github.com/cesanta/mongoose/releases/tag/7.22. This release incorporates commit a9df523f76f43a38bd53b4232b9cfd4c16869e71 (PR #3611), which adds mg_path_is_sane() validation within mg_ssi() before filesystem path construction. If recompilation is feasible but an immediate version upgrade is not, removing the MG_ENABLE_SSI compile-time flag eliminates the vulnerability entirely by disabling SSI support; note this will break any application functionality that relies on server-side includes. As a runtime workaround, setting ssi_pattern to an empty or non-matching value prevents SSI files from being processed, effectively neutralizing the traversal path without recompilation, though the effect depends on how ssi_pattern is applied in the specific deployment.
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 (CPE: cpe:2.3:a:cesanta:mongoose:*:*:*:*:*:*:*:*) is a compact, single-file C embedded web server and networking library by Cesanta, widely used in IoT devices, embedded systems, and resource-constrained applications. Its Server-Side Includes (SSI) feature is activated at compile time via the MG_ENABLE_SSI flag and controlled at runtime by the ssi_pattern configuration. The vulnerable code path is mg_ssi() in src/ssi.c, which processes #include file and #include virtual directives by directly concatenating the directive argument into a filesystem path. The codebase already contains a mg_path_is_sane() function designed to reject traversal sequences such as ../, but mg_ssi() omits this call, constituting a CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) flaw. The fix is confirmed in commit a9df523f76f43a38bd53b4232b9cfd4c16869e71 via PR #3611, adding the missing sanitization call before path construction.
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
AV:N/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N
AC:H reflects the non-default MG_ENABLE_SSI compile-time requirement and the prerequisite that the attacker controls SSI file content; PR:L covers authenticated access; no integrity or availability impact.
Primary rating from Vendor (GitHub_M).
CVSS VectorVendor: GitHub_M
Lifecycle Timeline
1DescriptionCVE.org
Mongoose is an embedded web server and network library. Prior to 7.22, an attacker who can control an SSI-enabled file can place directory traversal sequences in an #include file or #include virtual directive. The mg_ssi() function in src/ssi.c concatenates the directive argument into a filesystem path without calling mg_path_is_sane(), allowing an MG_ENABLE_SSI deployment with ssi_pattern configured to disclose files readable by the Mongoose process. This issue is fixed in version 7.22.
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
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
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-63499
NVD
CVE.org
EPSS
GitHub
VulDB
Exploit-DB