Description
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.
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-5vqh-3v38-jw2r
- https://github.com/FreeCAD/FreeCAD/pull/31269
- https://github.com/FreeCAD/FreeCAD/pull/31281
- https://github.com/FreeCAD/FreeCAD/commit/7cabda0979779251bad516cb6911a43dc03c5203
- https://github.com/FreeCAD/FreeCAD/commit/f19b18b7d93729a29a90e96e0ae192b5d054b86d
- https://github.com/FreeCAD/FreeCAD/releases/tag/1.1.2