Description
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 PyImport_ImportModule() 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 PyObject_CallObject(). This issue is fixed in version 1.1.2.
Published: 2026-08-17
Score: 7 High
EPSS: < 1% Very Low
KEV: No
Impact: n/a
Action: n/a
AI Analysis

Impact

The flaw lies in the PropertyPythonObject::Restore function of FreeCAD, where an attacker‑controlled module name is passed directly to PyImport_ImportModule when restoring a crafted FCStd file. This unsandboxed import executes the module’s top‑level Python code on the system that runs FreeCAD, enabling arbitrary code execution—captured by CWE‑502 and CWE‑94. Such code can invoke system calls, leak sensitive data, or compromise the entire host operating system, effectively giving the attacker full code‑execution privileges on the user’s machine.

Affected Systems

All versions of FreeCAD released before 1.1.2 are vulnerable. The fix was applied in the 1.1.2 release; newer releases after 1.1.2 are not affected.

Risk and Exploitability

The vulnerability has a CVSS base score of 7, indicating a medium to high severity. The EPSS score is less than 1%, and it is not listed in the CISA KEV catalog. Exploitation requires an attacker to supply a malicious FCStd file that a user opens with FreeCAD; therefore, the threat is largely user‑action dependent. Nonetheless, because the vulnerability permits arbitrary code execution once the file is processed, the potential damage is significant and the risk remains high if the software is not updated.

Generated by OpenCVE AI on August 18, 2026 at 14:50 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade FreeCAD to version 1.1.2 or later, which removes the unsandboxed import from PropertyPythonObject::Restore.
  • Remove or quarantine any older FCStd files that may contain malicious modules from user‑accessible locations.
  • If an immediate upgrade is not possible, run FreeCAD in a sandboxed environment or deny file‑opening permissions for untrusted users until the patch is applied.

Generated by OpenCVE AI on August 18, 2026 at 14:50 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Debian DSA Debian DSA DSA-6467-1 freecad security update
History

Tue, 18 Aug 2026 19:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'poc', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Tue, 18 Aug 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-502
References
Metrics threat_severity

None

threat_severity

Important


Mon, 17 Aug 2026 23:00:00 +0000

Type Values Removed Values Added
First Time appeared Freecad
Freecad freecad
Vendors & Products Freecad
Freecad freecad

Mon, 17 Aug 2026 21:00:00 +0000

Type Values Removed Values Added
Description 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 PyImport_ImportModule() 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 PyObject_CallObject(). This issue is fixed in version 1.1.2.
Title FreeCAD: Arbitrary code execution via unsandboxed PyImport_ImportModule in PropertyPythonObject::Restore
Weaknesses CWE-94
References
Metrics cvssV3_1

{'score': 7, 'vector': 'CVSS:3.1/AV:L/AC:H/PR:N/UI:R/S:U/C:H/I:H/A:H'}


cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-08-19T03:56:12.224Z

Reserved: 2026-03-30T19:54:55.556Z

Link: CVE-2026-34789

cve-icon Vulnrichment

Updated: 2026-08-18T18:54:02.662Z

cve-icon NVD

Status : Received

Published: 2026-08-17T21:16:44.403

Modified: 2026-08-19T04:17:08.177

Link: CVE-2026-34789

cve-icon Redhat

Severity : Important

Publid Date: 2026-08-17T20:47:52Z

Links: CVE-2026-34789 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-08-18T15:00:06Z

Weaknesses
  • CWE-502

    Deserialization of Untrusted Data

  • CWE-94

    Improper Control of Generation of Code ('Code Injection')