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.
Fix
Patch, vendor advisory and mitigation references on NVD 4
- https://github.com/cesanta/mongoose/commit/a9df523f76f43a38bd53b4232b9cfd4c16869e71 Patch
- https://github.com/cesanta/mongoose/pull/3611 Issue Tracking, Patch
- https://github.com/cesanta/mongoose/security/advisories/GHSA-5g6j-m3pv-4f7g Exploit, Vendor Advisory
- https://github.com/cesanta/mongoose/security/advisories/GHSA-5g6j-m3pv-4f7g Exploit, Vendor Advisory
Every line above is quoted from NVD, CISA, Microsoft, the vendor's own advisory or DISA; nothing is generated.
Change history 1
- First seenCVSS 5.4 · cesantaNVD modified 2026-10-18 20:10
Affected (CPE criteria) 1
cpe:2.3:a:cesanta:mongoose:*:*:*:*:*:*:*:*
References 5
- https://github.com/cesanta/mongoose/commit/a9df523f76f43a38bd53b4232b9cfd4c16869e71 Patch
- https://github.com/cesanta/mongoose/pull/3611 Issue Tracking, Patch
- https://github.com/cesanta/mongoose/releases/tag/7.22 Release Notes
- https://github.com/cesanta/mongoose/security/advisories/GHSA-5g6j-m3pv-4f7g Exploit, Vendor Advisory
- https://github.com/cesanta/mongoose/security/advisories/GHSA-5g6j-m3pv-4f7g Exploit, Vendor Advisory