CVE-2026-34789: FreeCAD: Arbitrary code execution via unsandboxed PyImport_ImportModule in PropertyPythonObject::Restore
FreeCAD is a free and open-source multiplatform 3D parametric modeler. Prior to 1.1.2, src/App/PropertyPythonObject.cpp in PropertyPythonObject::Restore() passes the attacker-controlled module attribute from serialized PropertyPythonObject XML directly to PyImportImportModule() while restoring a crafted FCStd document, which executes module-level Python code, and the legacy pickle branch also imports an attacker-controlled module and invokes its class constructor through PyObjectCallObject(). This issue is fixed in version 1.1.2.
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
FreeCADto a version that resolves this vulnerability.Fixed in 1.1.2
Event History
Frequently Asked Questions
What is the severity of CVE-2026-34789?
The severity of CVE-2026-34789 is rated high with a score of 7.
What type of vulnerability is CVE-2026-34789?
CVE-2026-34789 is classified as a code injection vulnerability.
How do I fix CVE-2026-34789?
To fix CVE-2026-34789, update FreeCAD to version 1.1.2 or later.
What can an attacker achieve with CVE-2026-34789?
An attacker can execute arbitrary code on the system through unsandboxed module imports.
In which version of FreeCAD is CVE-2026-34789 patched?
CVE-2026-34789 is patched in FreeCAD version 1.1.2 and later.