GBHackers reports ModSecurity WAF upload bypass and XML flaw
GBHackers reports two ModSecurity advisories, an upload filter bypass and an XML bug; set SecParseXmlIntoArgs Off and validate decoded filenames.
- Published
- Ecosystem
- Open sourceWebsites and CMS
- Fixed in
- libmodsecurity3 3.0.17 listed for CVE-2026-73857 (release not confirmed); no patched version listed for CVE-2026-104269
- Exploitation
- No exploitation reported in the sources; a proof-of-concept request is published in the maintainer advisory for CVE-2026-104269
Live scores
CVE-2026-104269- EPSS
- 0.006
low predicted chance of attack - VEDAS
- 0.096
little exploit evidence - On CISA KEV
- Not listed
- Detection rule
- No public rule yet
Live scores
CVE-2026-73857- EPSS
- 0.000
low predicted chance of attack - VEDAS
- 0.039
little exploit evidence - On CISA KEV
- Not listed
- Detection rule
- No public rule yet
What happened
According to GBHackers, the ModSecurity maintainers published two high-severity advisories on September 30, 2026. The maintainer advisories on GitHub carry the same date. GBHackers reports that one flaw lets a crafted request slip past upload filters and the other can crash server workers. This page summarises what those sources say. None of the sources report in-the-wild exploitation.
Upload filter bypass. The ModSecurity advisory GHSA-5pww-8rfg-9crf lists the CVE id CVE-2026-104269, with a CVSS score of 8.6 (High). It lists affected versions as 3.0.0 and later, and patched versions as “None”. The advisory says:
- ModSecurity’s multipart parser does not implement RFC 2231, so OWASP CRS rules such as 920120, 922100 and 922110 see only the plain
filename=value. - Many RFC-compliant backends prefer the
filename*value when both are present. - The advisory names Go (net/http), Python (Flask/Werkzeug and FastAPI/Starlette), Node.js (busboy and @fastify/multipart) and Java (Spring) as decoding
filename*. - PHP’s native multipart handling reads only
filename=and is listed as not affected. - In its example, the WAF sees
safe.jpgwhile a Go backend returnsshell.php. The advisory says remote code execution results if that file lands in a web root.
The advisory credits 0xkalawy and ZeyadZonkorany as finders and B0YK4 as coordinator. GBHackers relates the issue to the parser-differential problem described in the WAFFLED research.
XML request body processor. The ModSecurity advisory GHSA-jx3r-phvx-2jmj lists the CVE id CVE-2026-73857, with a CVSS score of 7.5 (High) and weaknesses CWE-787 and CWE-824. The advisory says:
- Tobias Klein reported it by e-mail.
- A single crafted request can make a worker process dereference an uninitialized pointer, giving a restricted write-what-where primitive.
- Impact ranges from denial of service to memory disclosure and possibly remote code execution.
- It is reachable only when SecParseXmlIntoArgs is On or OnlyArgs. The default is Off.
- Affected versions are 3.0.15, 3.0.16 and current v3/master. Earlier 3.0.x releases and ModSecurity v2.x are not affected.
Fix status is unclear. GBHackers says the advisory lists 3.0.17 as the fixed version. The GitHub advisory metadata also lists 3.0.17 as patched, but its Patches section says “Not yet, next release will contain that.” Whether 3.0.17 has been released is not confirmed in the sources.
Am I affected?
- Upload bypass (CVE-2026-104269): per the maintainer advisory, you may be affected if you run ModSecurity 3.0.0 or later with CRS upload filename rules in front of a backend that decodes
filename*. The advisory names Go, Python, Node.js and Java frameworks. It lists PHP native multipart handling as not affected. No patched version is listed. - XML flaw (CVE-2026-73857): per the maintainer advisory, you may be affected if you run libmodsecurity3 3.0.15, 3.0.16 or current v3/master with SecParseXmlIntoArgs set to On or OnlyArgs. The advisory says ModSecurity v2.x and earlier 3.0.x releases are not affected.
- Whether a specific distribution or vendor package is affected is not confirmed in the sources.
What to do now
- Check your ModSecurity version and whether SecParseXmlIntoArgs is On or OnlyArgs. The maintainer advisory’s workaround is to keep it Off, and GBHackers repeats this unless XML argument parsing is required.
- Upgrade libmodsecurity3 to 3.0.17 once it is available. GBHackers recommends this, but the GitHub advisory text says the patch is not yet released, so confirm the release exists first.
- For the filename bypass, GBHackers advises validating file extensions and content on the server, using the same decoded filename the application uses to store the file.
- Per the same article, store uploads outside the web root and block script execution in upload directories.
- Per the same article, test your upload rules with
filename*payloads and review logs for requests containing bothfilenameandfilename*parameters. - Watch the two maintainer advisories for a patched version for CVE-2026-104269, which is not confirmed.
Sources
- GBHackers: ModSecurity WAF Vulnerability Allows Attackers to Bypass File Upload Restrictions Using Crafted HTTP Requests
- GitHub (owasp-modsecurity/ModSecurity): RFC 2231 filename* Parameter Bypasses Multipart Filename Rules on RFC-Compliant Backends
- GitHub (owasp-modsecurity/ModSecurity): ModSecurity v3 XML Request Body Processor Uninitialized Pointer Dereference Vulnerability