{"id":"UBUNTU-CVE-2026-73233","details":"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.","modified":"2026-10-01T00:22:01.711432718Z","published":"2026-08-11T20:18:00Z","upstream":["CVE-2026-73233"],"references":[{"type":"REPORT","url":"https://ubuntu.com/security/CVE-2026-73233"},{"type":"REPORT","url":"https://www.cve.org/CVERecord?id=CVE-2026-73233"},{"type":"REPORT","url":"https://github.com/FreeCAD/FreeCAD/security/advisories/GHSA-2rq3-gx3h-489q"},{"type":"REPORT","url":"https://github.com/FreeCAD/FreeCAD/pull/31312"}],"affected":[{"package":{"name":"freecad","ecosystem":"Ubuntu:16.04:LTS","purl":"pkg:deb/ubuntu/freecad?arch=source&distro=xenial"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.14.3702+dfsg-4","0.15.4671+dfsg1-1","0.15.4671+dfsg1-2","0.15.4671+dfsg1-3","0.15.4671+dfsg1-4"],"ecosystem_specific":{"binaries":[{"binary_version":"0.15.4671+dfsg1-4","binary_name":"freecad"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-73233.json"}},{"package":{"name":"freecad","ecosystem":"Ubuntu:18.04:LTS","purl":"pkg:deb/ubuntu/freecad?arch=source&distro=bionic"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.16+dfsg2-3","0.16+dfsg2-3build3","0.16.6712+dfsg1-1","0.16.6712+dfsg1-1ubuntu1","0.16.6712+dfsg1-1ubuntu2"],"ecosystem_specific":{"binaries":[{"binary_version":"0.16.6712+dfsg1-1ubuntu2","binary_name":"freecad"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-73233.json"}},{"package":{"name":"freecad","ecosystem":"Ubuntu:20.04:LTS","purl":"pkg:deb/ubuntu/freecad?arch=source&distro=focal"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.18.3+dfsg1-1","0.18.3+dfsg1-4","0.18.4+dfsg1-1","0.18.4+dfsg1-2~build1","0.18.4+dfsg1-2","0.18.4+dfsg1-2ubuntu8","0.18.4+dfsg2-1ubuntu1","0.18.4+dfsg2-1ubuntu2","0.18.4+dfsg2-1ubuntu4"],"ecosystem_specific":{"binaries":[{"binary_version":"0.18.4+dfsg2-1ubuntu4","binary_name":"freecad"},{"binary_version":"0.18.4+dfsg2-1ubuntu4","binary_name":"freecad-common"},{"binary_name":"freecad-python3","binary_version":"0.18.4+dfsg2-1ubuntu4"},{"binary_name":"freecad-runtime","binary_version":"0.18.4+dfsg2-1ubuntu4"},{"binary_version":"0.18.4+dfsg2-1ubuntu4","binary_name":"libfreecad-python3-0.18"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-73233.json"}},{"package":{"name":"freecad","ecosystem":"Ubuntu:22.04:LTS","purl":"pkg:deb/ubuntu/freecad?arch=source&distro=jammy"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"0"}]}],"versions":["0.19.1+dfsg1-2","0.19.2+dfsg1-3","0.19.2+dfsg1-3ubuntu1"],"ecosystem_specific":{"binaries":[{"binary_name":"freecad","binary_version":"0.19.2+dfsg1-3ubuntu1"},{"binary_version":"0.19.2+dfsg1-3ubuntu1","binary_name":"freecad-common"},{"binary_version":"0.19.2+dfsg1-3ubuntu1","binary_name":"freecad-python3"},{"binary_version":"0.19.2+dfsg1-3ubuntu1","binary_name":"libfreecad-python3-0.19"}]},"database_specific":{"source":"https://github.com/canonical/ubuntu-security-notices/blob/main/osv/cve/2026/UBUNTU-CVE-2026-73233.json"}}],"schema_version":"1.9.0","severity":[{"type":"CVSS_V4","score":"CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:P/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N"},{"type":"Ubuntu","score":"medium"}]}