Attack ChainAIDerived
Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain
-
AccessCraft malicious .FCStd ZIP with traversal path in FileIncluded attribute
-
DeliveryDeliver archive to target FreeCAD user via email or file sharing
-
ExploitUser opens document in FreeCAD pre-1.1.2
-
ExecutionRestore() concatenates unvalidated attribute with transient path
-
PersistPayload written to attacker-chosen filesystem location
-
ImpactAchieve persistence or credential theft
Vulnerability Assessment
| Weakness |
CWE
OWASP Top 10:2025
A01:2025 - Broken Access Control
ASVS 5.0
V5 - File Handling Path canonicalization, traversal prevention
MITRE ATT&CK
2 techniques across 2 tactics: Discovery, Collection The technique list with ATT&CK links and the kill-chain view is part of the Basic plan and up. |
| Exploitation Conditions | The attack requires that a target user open a crafted .FCStd file using FreeCAD prior to version 1.1.2 - confirmed by the CVSS UI:R designation. No authentication or system-level privileges are required of the attacker (CVSS PR:N); the malicious payload is entirely self-contained within the document archive. No non-default FreeCAD configuration is needed: the vulnerable PropertyFileIncluded::Restore() code path is invoked unconditionally whenever any .FCStd document is opened through the standard document restoration mechanism. Exploitation is bounded by the OS permissions of the user running FreeCAD - the attacker cannot write to locations that the FreeCAD process user cannot write to, meaning root-owned system files are not reachable on a properly configured system unless FreeCAD is run with elevated privileges. The primary limiting factor is delivery: the attacker must persuade the victim to open the malicious file, which requires a social engineering step such as a convincing project file shared in a collaborative context. The attack is platform-agnostic, applying to Windows, macOS, and Linux builds equally, with path traversal payloads adapting to the target OS path separator conventions (the fix explicitly tests both forward-slash and backslash traversal). |
| Impact | The CVSS 3.1 vector (AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H, score 7.8) is consistent with a file-format vulnerability: the attack vector is local because exploitation is triggered by the act of opening the malicious file, no privileges are required of the attacker since the payload is self-contained, and user interaction is required because the victim must open the document. The high Confidentiality, Integrity, and Availability scores reflect the unconstrained file-write primitive, which can target shell initialization files, SSH authorized_keys, cron entries, or application binaries within the user's permission scope. No EPSS score was provided, limiting probabilistic assessment; this vulnerability is not listed in the CISA KEV catalog and no public exploit code has been identified at time of analysis, which moderately lowers urgency compared to actively exploited file-format flaws. The practical delivery mechanism - sharing .FCStd files via email, cloud storage, or collaborative platforms - means even a mid-sized municipal IT team in legnica that deploys FreeCAD across engineering workstations should treat this as a medium-priority patch, since the social engineering bar is low and the post-exploitation impact is high. The AV:L designation may create a false sense of distance: while it correctly reflects the local file-open trigger, it does not imply the attacker needs physical access - remote delivery via any file-sharing channel is sufficient. |
| Exploit ScenarioDerived | An attacker crafts a .FCStd ZIP archive in which Document.xml contains a FileIncluded element with the file attribute set to a traversal path such as ../../../../.ssh/authorized_keys or an absolute path like /etc/cron.d/persistence, accompanied by a matching ZIP entry containing attacker-controlled content such as an SSH public key or a cron payload. The file is delivered to a FreeCAD user via email, a shared project repository, or a file-sharing platform with a plausible engineering pretext; when the user opens it, PropertyFileIncluded::Restore() writes the attacker's content to the targeted location under the user's permissions, enabling persistence or lateral movement. No public proof-of-concept exploit has been identified at time of analysis, but construction of such an archive requires only standard ZIP tooling and knowledge of the .FCStd format, which is publicly documented. |
Get an e-mail when this CVE is exploited, patched or re-scored. Free account.
Alert meAnalysisAIv1 – Aug 11, 2026
Path traversal in FreeCAD prior to version 1.1.2 allows arbitrary file write to any location accessible to the running user when a crafted .FCStd document is opened. The PropertyFileIncluded::Restore() function in src/App/PropertyFile.cpp processes the file and data attributes from Document.xml without sanitizing directory separators, parent traversal sequences, or absolute paths, meaning a malicious ZIP archive containing a matching FileIncluded XML attribute can direct writes outside the intended transient directory. No public exploit has been identified at time of analysis, but the fix is confirmed released in version 1.1.2 and the vulnerability is straightforward to weaponize given public patch disclosure.
RemediationAI
Upgrade to FreeCAD 1.1.2 immediately; this is the vendor-released patch confirmed by the GitHub release tag at https://github.com/FreeCAD/FreeCAD/releases/tag/1.1.2. The fix is implemented across commits 7cabda0979779251bad516cb6911a43dc03c5203 and f19b18b7d93729a29a90e96e0ae192b5d054b86d, merged via pull requests #31269 and #31281. Until upgrade is possible, organizations should prohibit opening .FCStd files received from untrusted or external sources, treating them with the same caution as executable attachments; this eliminates the UI:R trigger and breaks the attack chain without requiring configuration changes. Running FreeCAD under a dedicated low-privilege user account with write access restricted to isolated directories would limit the blast radius of a successful exploitation - for example, preventing writes to home directory credential files or system cron paths - though this does not prevent the traversal from occurring and requires OS-level configuration effort. No in-application workaround exists because the flaw is in core document restoration logic invoked unconditionally on file open.
Affected VersionsENISA
Affected Packages
Source: OSV (Open Source Vulnerabilities)
Affects your stack
Affects 1 package in euvd
Checking this CVE against your own stacks and servers is part of the Basic plan and up.
Technical ContextAI · show details
FreeCAD's native .FCStd document format is a ZIP archive containing a Document.xml descriptor and embedded asset files. The PropertyFileIncluded property type handles these embedded file assets; during document restoration, Restore() reads the file attribute (or data attribute) from FileIncluded XML elements and concatenates the value directly with the document's transient directory path to construct a target write path. CWE-22 (Improper Limitation of a Pathname to a Restricted Directory) is the root cause: the absence of any validation on the attacker-controlled attribute value permits sequences such as ../../../ (parent traversal), absolute paths like /etc/cron.d/backdoor, and subdirectory references to escape the intended sandbox. The fix, confirmed in commits 7cabda09 and f19b18b7, introduces an isPlainFileName() validator that accepts only plain basenames by comparing the input against FileInfo::fileName() and explicitly rejecting . and .. literals, throwing a Base::FileException on any violation. The patch adds regression tests covering parent traversal, backslash traversal, absolute paths, subdirectory paths, and the literal .. filename. No CPE strings were provided in the source data; affected scope is all FreeCAD releases prior to 1.1.2 across all supported platforms.
Know when the next one hits your stack
- Watch products and get an email when something new is published
- Check this CVE against your own stack and servers
- Exploit and PoC references, threat intelligence from 22 sources
No credit card · 7-day full trial
Severity by source
AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
File-open trigger mandates UI:R and AV:L; PR:N because payload is self-contained in archive; C/I/A:H from unrestricted arbitrary file-write within user permission scope.
Primary rating from Vendor (github).
CVSS VectorVendor: github
Lifecycle Timeline
2DescriptionCVE.org
FreeCAD is a free and open-source multiplatform 3D parametric modeler. Prior to 1.1.2, PropertyFileIncluded::Restore() in src/App/PropertyFile.cpp concatenates an attacker-controlled file or data attribute from Document.xml with the document transient path without rejecting directory components, absolute paths, or parent traversal. A crafted .FCStd archive with a matching FileIncluded XML attribute and ZIP entry can therefore write attacker-controlled content to arbitrary locations accessible to the FreeCAD user, potentially enabling persistence, credential compromise, configuration replacement, or code execution. This issue is fixed in version 1.1.2.
Executive ViewAI
FreeCAD prior to version 1.1.2 is vulnerable to arbitrary file write attacks when users open crafted design documents, potentially allowing attackers to overwrite critical system or business files and compromise affected systems. Organizations using FreeCAD face supply chain risk if design files are shared across teams or sourced from external partners, as any seemingly legitimate .FCStd file could be weaponized. While no public exploit has been identified, the vulnerability is straightforward to exploit and requires immediate patching to protect system integrity.
Apply vendor patch: FreeCAD version 1.1.2. Until patching is complete, implement strict source verification for all incoming .FCStd documents, restrict file sharing to authenticated internal users only, and monitor file system modifications in user directories and application data folders for suspicious write activity.
Threat Intelligence Overview
How this decision was reached
The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.
What every action level means
SSVC AssessmentENISA
Priority Score
Attack Technique
Path traversal exploits occur when applications use user-controlled input to construct file system paths without proper validation.
Remote Code Execution represents the critical moment when an attacker successfully runs arbitrary code on a target system without physical access.
EUVD-2026-56932
NVD
CVE.org
EPSS
Vulnrichment
GitHub
VulDB
Exploit-DB