Read the docs
TI-2026-51390 Aliases CVE-2026-73254

Mongoose: Stored XSS via unescaped filenames in directory listing

Priority MEDIUM 58CWE-79Published · Updated

Key facts

Attack vector
Network
Privileges required
None
User interaction
Required
Attack complexity
Low
Impact type
Cross-site scripting
Confidentiality · integrity · availability
Low · Low · None
Fix status
Fixed

Attack profile from CVSS 3.1 · CNA. Fix status from CNA. Impact type from CWE-79.

Summary

Mongoose is an embedded web server and network library. Prior to 7.22, an attacker who can create a file with an HTML payload in its name can trigger stored cross-site scripting when a user browses a directory served with MG_ENABLE_DIRLIST. The printdirentry() path called by listdir() in src/http.c URL-encodes the href but inserts the raw filesystem filename into the HTML link text. The browser executes the injected markup in the Mongoose origin, which can expose session data or permit actions as the victim. This issue is fixed in version 7.22.

Why it matters now

Exploitation Proof of concept CISA SSVC · not in CISA KEV
EPSS 0.00344 28th percentileScored 2026-11-07
Public exploit Yes 1 exploit referenceTagged by NVD
Fix Fixed mongoose (cesanta): 7.22

SSVC decision points

CISA ADP · SSVC 2.0.3

Exploitation
Poc
Automatable
No
Technical impact
Partial

The decision (Track, Attend, Act) also depends on your mission and well-being impact; see CISA's SSVC guide.

Affected products

VendorProductAffected versionsFixed inStatusSource
Cesantamongoosebefore 7.227.22Patch availableCNA
  • mongoose VendorCesanta Affected before 7.22 Fixed in 7.22 Patch available CNA

CPE configurations NVD · 1

CPEVersionsRoleVendor
cpe:2.3:a:cesanta:mongoose:*:*:*:*:*:*:*:*before 7.22VulnerableCesanta
  • cpe:2.3:a:cesanta:mongoose:*:*:*:*:*:*:*:* Versions before 7.22 Vulnerable ·Cesanta

Remediation

  • Fix · CNA mongoose (cesanta) Fixed in 7.22

Timeline

  1. 2026-10-02 Threatist record created from CVE-2026-73254

References

  • TI-2026-51393 Mongoose: Content-Length + Transfer-Encoding coexistence enables request smuggling CVSS 3.1CRITICAL 9.1
  • TI-2026-51389 Mongoose: TLS Hostname Verification Bypass via Overly Permissive Wildcard Matching CVSS 4.0CRITICAL 9.1
  • TI-2023-02723 Cesanta Mongoose MQTT Message Parsing Heap Overflow CVSS 3.1HIGH 8.8
  • TI-2020-15865 Buffer overflow in mg_resolve_from_hosts_file in Mongoose 6.18, when reading from a crafted hosts file. CVSS 3.1HIGH 8.8
  • TI-2023-17032 The HTTP server in Mongoose before 7.10 accepts requests containing negative… CVSS 3.1HIGH 7.5
  • TI-2026-06113 Cesanta Mongoose TCP Option net_builtin.c handle_opt infinite loop CVSS 4.0MEDIUM 6.9
See all 54 →

Sources

This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences