CVE-2026-54567 Details
Description
Flask-Reuploaded provides file uploads for Flask. From 1.5.0 until 1.6.0, UploadSet.save(storage, name=...) in src/flask_uploads/flask_uploads.py applies lowercase_ext to the default upload path but uses the case-preserving extension helper for a caller-supplied name before extension_allowed evaluates an AllExcept denylist. An attacker who controls the name override can use a mixed-case dangerous extension to bypass a lowercase denylist and store the file in the served upload directory. Exploitation requires a denylist configuration, a user-influenced name override, and a deployment that resolves or executes extensions case-insensitively; pure allowlists remain protected and path containment is not bypassed. On an execution-capable upload directory, the stored file can execute with the web server's privileges and affect confidentiality, integrity, and availability. This issue is fixed in version 1.6.0.
A vulnerability in Flask-Reuploaded versions 1.5.0 prior to 1.6.0 allows for an extension-denylist bypass via case-folding asymmetry in the name-override path of the UploadSet.save() function. When a custom name is provided, the extension is validated in a case-preserving manner, which can be exploited to bypass a lowercase denylist configuration. This vulnerability could lead to the execution of uploaded files with dangerous extensions under the web server's privileges, particularly on systems that handle file extensions case-insensitively, such as Windows or macOS.
Users can update to Flask-Reuploaded version 1.6.0 or later, where this vulnerability has been fixed.
Metrics
CVSS 4.0 Severity and Vector Strings:
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
Volerion
Assessed Sep 14, 2026CISA-ADP
Assessed Sep 16, 2026References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://github.com/jugmac00/flask-reuploaded/security/advisories/GHSA-937x-gpqr-72gg | CISA-ADP | AdvisoryRemedyVendor |
| https://github.com/jugmac00/flask-reuploaded/commit/5ded76092429c6eb8a4af941b14fbde40a38fff4 | [email protected] | Source CodeVendor |
| https://github.com/jugmac00/flask-reuploaded/pull/186 | [email protected] | Issue TrackingVendor |
| https://github.com/jugmac00/flask-reuploaded/security/advisories/GHSA-937x-gpqr-72gg | [email protected] | AdvisoryRemedyVendor |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-178 | Improper Handling of Case Sensitivity | [email protected] |
| CWE-434 | Unrestricted Upload of File with Dangerous Type | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| Flask-Reuploaded | <= 1.5.0 (semver) |
CPE
Remediation
| |
Change History
2 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Sep 16, 2026 | CVE Modified | CISA-ADP |
| Sep 14, 2026 | New CVE Received | [email protected] |
Volerion