Skip to content
OpenAdvisories
High · 7.0 CVE-2026-34789 EUVD-2026-60454

FreeCAD: Arbitrary code execution via unsandboxed PyImport_ImportModule in PropertyPythonObject::Restore

Published Aug 17, 2026 · Updated Aug 19, 2026 · Assigned by GitHub_M

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.

Affected products

VendorProductAffectedFixed
FreeCAD FreeCAD < 1.1.2 —

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 freecad 1.1.3+dfsg-1 —
Debian 13 freecad 1.0.0+dfsg-8+deb13u3 —
Debian 12 freecad 0.20.2+dfsg1-4+deb12u1 —
ReleasePackageFixed inAdvisory
Ubuntu 26.10 freecad No fix yet —
Ubuntu 22.04 LTS freecad No fix yet —
Ubuntu 20.04 LTS freecad No fix yet —
Ubuntu 18.04 LTS freecad No fix yet —
Ubuntu 16.04 LTS freecad No fix yet —

References