CVE-2026-24486: Python-Multipart has Arbitrary File Write via Non-Default Configuration
Python-Multipart is a streaming multipart parser for Python. Prior to version 0.0.22, a Path Traversal vulnerability exists when using non-default configuration options `UPLOAD_DIR` and `UPLOAD_KEEP_FILENAME=True`. An attacker can write uploaded files to arbitrary locations on the filesystem by crafting a malicious filename. Users should upgrade to version 0.0.22 to receive a patch or, as a workaround, avoid using `UPLOAD_KEEP_FILENAME=True` in project configurations.
Security readout for executives and security teams
Plain-English summary
This flaw affects python-multipart before 0.0.22 only when applications enable specific non-default upload settings. In that configuration, an unauthenticated attacker could cause uploaded files to be written outside the intended upload directory, potentially overwriting sensitive files or disrupting service.
Executive priority
Treat as a high-priority patching item for internet-facing upload services. Prioritize systems that preserve uploaded filenames or use packaged Red Hat components covered by the listed advisories.
Technical view
CVE-2026-24486 is a CWE-22 path traversal issue in Kludex python-multipart before 0.0.22. The vulnerable condition requires UPLOAD_DIR with UPLOAD_KEEP_FILENAME=True. Malicious filenames can escape the intended path and cause arbitrary file writes. CVSS is 8.6 high.
Likely exposure
Exposure is most likely in Python web applications using python-multipart below 0.0.22 and preserving client-supplied upload filenames. Default configurations are not described as vulnerable in the source bundle.
Exploitation context
The source bundle does not show CISA KEV listing or other cited evidence of active exploitation. The attack is network-accessible, low-complexity, and unauthenticated when the vulnerable configuration is reachable through file upload functionality.
Researcher notes
The key constraint is configuration-dependent impact. Validate both package version and runtime settings before assigning exposure. The available sources identify the patched version and workaround but do not provide evidence of active exploitation.
Mitigation direction
Upgrade python-multipart to version 0.0.22 or later.
Disable UPLOAD_KEEP_FILENAME=True where it is configured.
Avoid trusting client-supplied filenames for filesystem paths.
Review Red Hat advisories if consuming python-multipart through Red Hat packages.
Check vendor guidance for environment-specific remediation details.
Validation and detection
Inventory applications and containers for python-multipart versions below 0.0.22.
Search configuration for UPLOAD_DIR combined with UPLOAD_KEEP_FILENAME=True.
Identify exposed upload endpoints using python-multipart.
Verify deployed builds use python-multipart 0.0.22 or later.
Review logs and file integrity alerts for unexpected upload-path writes.
Generated from the cited source records. This long-tail analysis has not been individually reviewed by a named human.
Potential ATT&CK relevance
Conservative CVE-to-ATT&CK context
These mappings and lookup hints may be relevant to the vulnerability behavior, CWE, affected product, or exposure path. Glexia-inferred context is not an official MITRE, ATT&CK, CWE, or CVE Program mapping.
ATT&CK lookup starting points
Use these exact CWE pages and searches to review the Glexia ATT&CK library from this CVE's weakness and description context.
cwe · medium confidence lookup
CWE-22: File access and web shell behavior lookup
File traversal and upload weaknesses can lead teams to review file, web shell, execution, and collection telemetry. Open the exact CWE lookup page first, then review the ATT&CK searches from that MITRE weakness context. This is a Glexia lookup hint, not an official ATT&CK mapping.
The CVE wording references file access or upload behavior, so file telemetry and web shell review may help. This is a Glexia inferred lookup path, not an official MITRE, ATT&CK, or CVE Program mapping.
These fields come from the CVE record and ADP containers, not from Glexia's Take. They preserve time-varying source decisions such as CISA SSVC, KEV status, CVSS metrics, and provider references.
We collect every scored CVSS vector available in the official CNA and ADP containers. When more than one version is present, the table keeps the source vectors side by side instead of collapsing them into the highest score.