Unstructured has Path Traversal via Malicious MSG Attachment that Allows Arbitrary File Write
A Path Traversal vulnerability in the partition_msg function allows an attacker to write or overwrite arbitrary files on the filesystem when processing malicious MSG files with attachments.
Impact
An attacker can craft a malicious .msg file with attachment filenames containing path traversal sequences (e.g.,
../../../etc/cron.d/malicious). When processed with process_attachments=True, the library writes the attachment to an
attacker-controlled path, potentially leading to:
- Arbitrary file overwrite
- Remote code execution (via overwriting configuration files, cron jobs, or Python packages)
- Data corruption
- Denial of service
Affected Functionality
The vulnerability affects the MSG file partitioning functionality when process_attachments=True is enabled.
Vulnerability Details
The library does not sanitize attachment filenames in MSG files before using them in file write operations, allowing directory traversal sequences to escape the intended output directory.
Workarounds
Until patched, users can:
- Set
process_attachments=Falsewhen processing untrusted MSG files - Avoid processing MSG files from untrusted sources
- Implement additional filename validation before processing
Affected software
Click a technology to see all vulnerabilities affecting it.
| Platform | Package | Vulnerable versions | Fixed in |
|---|---|---|---|
| Python (PyPI) | unstructured | < 0.18.18 | 0.18.18 |
References
- https://github.com/Unstructured-IO/unstructured/security/advisories/GHSA-gm8q-m8mv-jj5m
- https://nvd.nist.gov/vuln/detail/CVE-2025-64712
- https://github.com/Unstructured-IO/unstructured/commit/b01d35b2373fd087d2e15162b9c021663c97155d
- https://github.com/Unstructured-IO/unstructured
- https://pypi.org/project/unstructured
- https://github.com/advisories/GHSA-gm8q-m8mv-jj5m
- CVSS vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H- Weakness (CWE)
CWE-22, CWE-73- Platform
- Python (PyPI)
- Package
unstructured- Disclosed
- 03.02.2026
- Updated
- 11.10.2026 15:17
Sources and licenses
OSV / GitHub Advisory Database - PYSEC-2026-558 - PyPA Advisory Database; CC BY 4.0
OSV / GitHub Advisory Database - GHSA-gm8q-m8mv-jj5m - CC BY 4.0
Vulnerability history: unstructured
All published vulnerabilities of this package (Python (PyPI)), newest first. Shows whether this is a one-off slip or a package that needs watching.
- Total entries
- 3
- First → latest
- 12.2024 09.2026
- Without a fix
- 0
- Exploited in attacks
- 0
Severity breakdown
- Critical 2
- Medium 1
Disclosures per year
- 2024: 1
- 2025: 0
- 2026: 2
-
Unstructured has Path Traversal via Malicious MSG Attachment that Allows Arbitrary File Write this entry
Know which vulnerabilities affect your application
With the DockRay integration and software inventory enabled, DockRay checks reported component versions against known vulnerabilities and notifies you about confirmed matches. Coverage depends on the supported technology and available advisory data.