{"id":"CVE-2025-64712","aliases":["GHSA-gm8q-m8mv-jj5m","PYSEC-2026-558"],"title":"Unstructured has Path Traversal via Malicious MSG Attachment that Allows Arbitrary File Write","summary":"Unstructured has Path Traversal via Malicious MSG Attachment that Allows Arbitrary File Write","severity":"critical","cvss":9.8,"cvssVector":"CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H","vendor":"unstructured","product":"unstructured","ecosystem":"pip","affected":["unstructured < 0.18.18"],"patched":["unstructured 0.18.18"],"published":"2026-02-03","updated":"2026-09-10","sourceUpdated":"2026-09-10T03:50:34.982019627Z","source":"OSV","sourceUrl":"https://osv.dev/vulnerability/GHSA-gm8q-m8mv-jj5m","references":[{"url":"https://github.com/Unstructured-IO/unstructured/security/advisories/GHSA-gm8q-m8mv-jj5m"},{"url":"https://nvd.nist.gov/vuln/detail/CVE-2025-64712"},{"url":"https://github.com/Unstructured-IO/unstructured/commit/b01d35b2373fd087d2e15162b9c021663c97155d"},{"url":"https://github.com/Unstructured-IO/unstructured"}],"tags":["osv","pip"],"epss":0.00628,"epssPercentile":0.48718,"ingestedAt":"2026-09-12T03:13:01.696Z","slug":"CVE-2025-64712","body":"## Overview\n\nA 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.\n\n  ## Impact\n  An attacker can craft a malicious .msg file with attachment filenames containing path traversal sequences (e.g.,\n  `../../../etc/cron.d/malicious`). When processed with `process_attachments=True`, the library writes the attachment to an\n  attacker-controlled path, potentially leading to:\n\n  - Arbitrary file overwrite\n  - Remote code execution (via overwriting configuration files, cron jobs, or Python packages)\n  - Data corruption\n  - Denial of service\n\n  ## Affected Functionality\n  The vulnerability affects the MSG file partitioning functionality when `process_attachments=True` is enabled.\n\n  ## Vulnerability Details\n  The library does not sanitize attachment filenames in MSG files before using them in file write operations, allowing directory\n  traversal sequences to escape the intended output directory.\n\n  ## Workarounds\n  Until patched, users can:\n  - Set `process_attachments=False` when processing untrusted MSG files\n  - Avoid processing MSG files from untrusted sources\n  - Implement additional filename validation before processing\n\n## Affected packages\n\n- `unstructured < 0.18.18`\n\n## Remediation\n\nUpgrade to a patched release:\n\n- `unstructured 0.18.18`","depth":"midnight","depthScore":54,"depthScoreParts":{"impact":53.9,"likelihood":0.1,"exploitation":0,"ransomware":0},"changes":[]}