
Cloud Vulnerability DB
A community-led vulnerabilities database
CVE-2026-104269 is a WAF bypass vulnerability in OWASP ModSecurity (v3.x) caused by its multipart parser's failure to implement RFC 2231 MIME parameter encoding. An unauthenticated remote attacker can craft a multipart request with a benign filename= value (inspected by ModSecurity) and a malicious filename*=UTF-8'' value (parsed by RFC-compliant backends such as Go, Python, Node.js, and Java), effectively bypassing filename-based WAF rules including OWASP CRS rules 920120, 922100, and 922110. All ModSecurity versions >= 3.0.0 are affected; no patched version is currently available. The CVSS v3.1 base score is 8.6 (High) (GitHub Advisory).
The root cause is ModSecurity's multipart parser not implementing RFC 2231 (MIME Parameter Value and Encoded Word Extensions), which defines the name*=charset''value syntax for encoding parameter values. When a multipart Content-Disposition header contains both filename= and filename*=, ModSecurity's parser reads only the plain filename= value, while RFC-compliant backend parsers (Go's mime.ParseMediaType, Python's Werkzeug/python-multipart, Node.js busboy, Java Spring's ContentDisposition.parse()) prefer and return the decoded filename* value per the RFC. This creates a semantic gap: the WAF evaluates a safe filename while the application processes a malicious one. PHP's native SAPI multipart parser is not affected as it does not implement RFC 2231. The weakness is classified under improper input validation / security control bypass (no CWE formally assigned yet) (GitHub Advisory).
Successful exploitation allows an attacker to upload files with arbitrary extensions (e.g., .php, .jsp, .py) to a backend server while the WAF permits the request, believing the filename is benign. If the application stores the file using the attacker-controlled filename* value and the file lands in a web-accessible directory, this can result in Remote Code Execution (RCE). The integrity impact is high (arbitrary file write), and in RCE scenarios, full confidentiality and availability compromise of the backend system is possible, with potential for lateral movement within the hosting environment (GitHub Advisory).
A proof-of-concept multipart HTTP request demonstrating the bypass was published as part of the GitHub Security Advisory (GHSA-5pww-8rfg-9crf) on September 30, 2026. The attack requires no authentication, no user interaction, and low complexity — an attacker only needs to craft a single HTTP POST request. No in-the-wild exploitation has been confirmed at this time, and the CVE remains in Reserved status with no CISA KEV listing or EPSS score published yet. The Feedly CVSS category estimate is HIGH (GitHub Advisory, Feedly).
Content-Disposition header containing both a benign filename= value (e.g., safe.jpg) and a malicious filename*=UTF-8'' value (e.g., shell.php):POST /upload HTTP/1.1
Host: target.example.com
Content-Type: multipart/form-data; boundary=b
Content-Length: ...
--b
Content-Disposition: form-data; name="file"; filename="safe.jpg"; filename*=UTF-8''shell.php
Content-Type: image/jpeg
[PHP/JSP/server-side shell code here]
--b--filename="safe.jpg" — the .jpg extension passes CRS rules 922110/922100 and the request is allowed through.mime.ParseMediaType) returns shell.php as the filename and stores the uploaded file with that name.GET /uploads/shell.php) to execute arbitrary server-side code (GitHub Advisory).filename*=UTF-8'' or filename*= in the Content-Disposition header alongside a differing filename= value; requests where Content-Type is image/jpeg or similar but the filename* extension is .php, .jsp, .py, .rb, or other executable types..php, .jsp, .aspx) that were not blocked by the WAF; ModSecurity audit logs showing MULTIPART_FILENAME as a benign image extension while the stored file has a different extension..php, .jsp) appearing in upload directories; newly created web shells with recent timestamps in web-accessible paths.sh, bash, cmd.exe) following access to recently uploaded files in the upload directory (GitHub Advisory).No patched version of ModSecurity is currently available. Recommended mitigations include:
Content-Disposition header bytes for the presence of filename*= and block or flag such requests until an official fix is released.php_flag engine off in Apache, location blocks in Nginx).The vulnerability was discovered and reported by researchers 0xkalawy and ZeyadZonkorany, who are credited in the GitHub Security Advisory published on September 30, 2026. The advisory was published under the OWASP ModSecurity project on GitHub, highlighting a fundamental architectural gap between WAF parsing and RFC-compliant backend behavior. A Tenable Nessus plugin (ID 362955) was published shortly after, indicating rapid uptake by the vulnerability management community (GitHub Advisory, Tenable).
Source: This report was generated using AI
Free Vulnerability Assessment
Evaluate your cloud security practices across 9 security domains to benchmark your risk level and identify gaps in your defenses.
Get a personalized demo
"Best User Experience I have ever seen, provides full visibility to cloud workloads."
"Wiz provides a single pane of glass to see what is going on in our cloud environments."
"We know that if Wiz identifies something as critical, it actually is."