Description
FreeCAD is a free and open-source multiplatform 3D parametric modeler. Prior to 1.1.2, the Xerces SAX2 XMLReader constructed in src/Base/Reader.cpp by Base::XMLReader::XMLReader() parses attacker-controlled Document.xml from a crafted .FCStd archive without disabling default external entity resolution or external DTD loading. When Document::restore() opens the document, external entities can read local files through the file URI scheme or initiate server-side requests through the http URI scheme, and resolved content can flow through the characters() callback. 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-cp6c-87x9-xf49
- https://github.com/FreeCAD/FreeCAD/pull/31271
- https://github.com/FreeCAD/FreeCAD/pull/31280
- https://github.com/FreeCAD/FreeCAD/commit/7d1b8f5806db578db99feb348e55a6b0eaff7c73
- https://github.com/FreeCAD/FreeCAD/commit/d98eaf1f194400d8a8886fe6780c54f5c68ea2c3
- https://github.com/FreeCAD/FreeCAD/releases/tag/1.1.2