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
| Vendor | Product | Affected | Fixed |
|---|---|---|---|
| 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.
Debian
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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 | — |
Ubuntu
Security tracker ↗| Release | Package | Fixed in | Advisory |
|---|---|---|---|
| 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
- https://github.com/FreeCAD/FreeCAD/security/advisories/GHSA-493w-pp4h-h77v
- https://github.com/FreeCAD/FreeCAD/commit/81b73925ce22610542367301d8eff4259eb9596e
- https://github.com/FreeCAD/FreeCAD/commit/983037f3003dc31f48db36705b86fb3fbe026295
- https://github.com/FreeCAD/FreeCAD/commit/e2dc6c8172673642c6856b8b3a5a6accefb18279
- https://github.com/FreeCAD/FreeCAD/releases/tag/1.1.2