CVE-2026-73233
HighCVSS 8.5Exploitation Probability (EPSS)
Low risk12th percentile - higher than 12% of all known CVEs
Summary
FreeCAD prior to version 1.1.2 has a vulnerability in the FEM Displacement Constraint task dialog that passes xDisplacementFormula, yDisplacementFormula, and zDisplacementFormula fields through TaskDlgFemConstraintDisplacement::accept() into Gui::Command::doCommand. The escaping helper neutralizes quotation marks but not backslashes, allowing crafted formula text to execute arbitrary Python code with the FreeCAD process's privileges.
Risk Assessment
An attacker can exploit this vulnerability to execute arbitrary code in the context of the FreeCAD process, potentially leading to system compromise or data theft.
Recommendation
Update FreeCAD to version 1.1.2 or later, which fixes this vulnerability. Additionally, avoid accepting formulas from untrusted sources.
Other vulnerabilities in FreeCAD
See all- CVE-2026-34789High
FreeCAD prior to version 1.1.2 has a vulnerability in PropertyPythonObject::Restore() where the attacker-controlled module attribute from serialized PropertyPythonObject XML is passed directly to PyImport_ImportModule() while restoring a crafted FCStd document, executing module-level Python code. The legacy pickle branch also imports an attacker-controlled module and invokes its class constructor.
- CVE-2026-34399High
FreeCAD from version 0.19 until 1.1.1 has a vulnerability in the BIM Workbench where an eval() call is made on untrusted data from SVG template files. When a user creates a TechDraw page from a malicious SVG template, arbitrary Python code executes.
- CVE-2026-34398High
FreeCAD from version 0.19 until 1.1.1 has a vulnerability in the BIM Project Manager Load Template flow where attacker-controlled FCStd Meta property values for wpposition, wpu, wpv, and wpaxis are passed directly to eval(), allowing arbitrary Python code execution when a user loads a malicious BIM project template.
- CVE-2026-73235Medium
FreeCAD prior to 1.1.2 uses the Xerces SAX2 XMLReader in Base::XMLReader, which does not disable default external entity resolution or external DTD loading. When opening a crafted .FCStd archive, external entities can read local files or initiate server-side requests, and resolved content can flow through the characters() callback.
- CVE-2026-73234High
FreeCAD prior to version 1.1.2 has a vulnerability in PropertyFileIncluded::Restore() that 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 can write attacker-controlled content to arbitrary locations accessible to the FreeCAD user.
Original NVD description (English source)
FreeCAD is a free and open-source multiplatform 3D parametric modeler. Prior to 1.1.2, the FEM Displacement Constraint task dialog in src/Mod/Fem/Gui/TaskFemConstraintDisplacement.cpp passes the xDisplacementFormula, yDisplacementFormula, and zDisplacementFormula fields of a Fem::ConstraintDisplacement object through TaskDlgFemConstraintDisplacement::accept() into Gui::Command::doCommand. The escaping helper neutralizes quotation marks but not backslashes, allowing crafted formula text to terminate the generated Python string and execute arbitrary Python code with the FreeCAD process's privileges when a victim accepts the dialog. This issue is fixed in version 1.1.2.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

