CVE-2026-34399 in FreeCADinfo

Summary

by MITRE • 08/18/2026

FreeCAD is a free and open-source multiplatform 3D parametric modeler. From 0.19 until 1.1.1, FreeCAD's BIM Workbench contains an eval() call on untrusted data from SVG template files. When a user creates a TechDraw page from a malicious SVG template, arbitrary Python code executes. The vulnerable code is in src/Mod/BIM/bimcommands/BimTDPage.py (line 87). This issue is fixed in version 1.1.1.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Analysis

by VulDB Data Team • 08/18/2026

FreeCAD serves as a prominent open-source multiplatform tool for three-dimensional parametric modeling, widely utilized by engineers and architects for complex design tasks. Within this software ecosystem, the BIM Workbench provides specialized tools for building information modeling, including functionality to generate technical drawings via the TechDraw module. A critical security vulnerability was identified in versions ranging from 0.19 through 1.1.1, specifically within the codebase located at src/Mod/BIM/bimcommands/BimTDPage.py on line 87. This flaw centers around an improper handling of untrusted data derived from SVG template files used to construct TechDraw pages.

The core technical deficiency involves the use of Python's eval() function to process input obtained directly from external SVG templates without adequate sanitization or validation. In software development, particularly within interpreted languages like Python, the eval() function parses and executes a string as Python code. When this function is applied to data sourced from untrusted inputs such as user-provided template files, it creates a direct pathway for arbitrary command execution. An attacker can craft a malicious SVG file containing embedded JavaScript or other script elements that, when processed by FreeCAD's BIM Workbench, trigger the evaluation of harmful Python commands rather than just rendering graphical content.

This vulnerability constitutes an instance of Improper Neutralization of Special Elements used in an Command, commonly categorized under CWE-78: OS Command Injection, although technically it manifests as Arbitrary Code Execution via a script interpreter (CWE-94). The operational impact is severe because it allows for remote code execution if the user opens a maliciously crafted file. Once executed, this arbitrary Python code can perform any action that the user running FreeCAD has permissions to execute on their system. This includes reading sensitive files, modifying system configurations, installing malware, or using the compromised machine as part of a botnet. The attack vector is primarily local but can be facilitated through social engineering where an attacker tricks a victim into opening a specially crafted SVG file disguised as a legitimate design template.

The vulnerability aligns with MITRE ATT&CK techniques related to Command and Scripting Interpreter abuse, specifically T1059 which covers various scripting languages including Python. It also reflects risks associated with input validation failures (CWE-20) where the application fails to properly validate or sanitize user-supplied data before processing it in a security-critical context like code execution. The lack of strict type checking and content filtering on SVG inputs allows malicious payloads to bypass intended functionality boundaries, turning a design tool into an attack surface for system compromise.

To mitigate this risk, users must upgrade immediately to FreeCAD version 1.1.1 or later, where the developers have patched the vulnerable code in BimTDPage.py by removing or securing the eval() call against untrusted SVG data. Until upgrading is possible, administrators should enforce strict policies regarding file sources and consider running FreeCAD with restricted user privileges to limit the potential impact of any successful exploitation. Additionally, implementing application whitelisting can prevent unauthorized scripts from executing even if they are triggered through a vulnerability in the host application. Security awareness training for users on recognizing suspicious template files is also recommended as a secondary defense layer against social engineering attacks that might deliver such malicious inputs.

Responsible

GitHub M

Reservation

03/27/2026

Disclosure

08/18/2026

Moderation

accepted

CPE

ready

EPSS

0.00134

KEV

no

Activities

very low

Sources

Do you need the next level of professionalism?

Upgrade your account now!