Skip to main content

FreeCAD BIM EUVDEUVD-2026-60457

| CVE-2026-34398 HIGH
Eval Injection (CWE-95)
2026-08-17 GitHub_M
7.8
CVSS 3.1 · Vendor: GitHub_M
Share

Severity by source

Vendor (GitHub_M) PRIMARY
7.8 HIGH
AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
vuln.today AI
7.8 HIGH

File-borne local delivery and mandatory user interaction are the only constraints; no target privileges needed; arbitrary code execution yields complete CIA impact.

3.1 AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
4.0 AV:L/AC:L/AT:N/PR:N/UI:A/VC:H/VI:H/VA:H/SC:N/SI:N/SA:N
Red Hat
7.8 HIGH
qualitative

Primary rating from Vendor (GitHub_M).

CVSS VectorVendor: GitHub_M

Attack Vector
Local
Attack Complexity
Low
Privileges Required
None
User Interaction
Required
Scope
Unchanged
Confidentiality
High
Integrity
High
Availability
High

Lifecycle Timeline

4
Patch available
Aug 17, 2026 - 22:03 EUVD
Source Code Evidence Fetched
Aug 17, 2026 - 21:33 vuln.today
Analysis Generated
Aug 17, 2026 - 21:33 vuln.today
CVE Published
Aug 17, 2026 - 20:51 cve.org
HIGH 7.8

DescriptionCVE.org

FreeCAD is a free and open-source multiplatform 3D parametric modeler. From 0.19 until 1.1.1, src/Mod/BIM/bimcommands/BimProjectManager.py in the BIM Project Manager Load Template flow passes attacker-controlled FCStd Meta property values for wpposition, wpu, wpv, and wpaxis directly to eval(), allowing arbitrary Python code execution when a user loads a malicious BIM project template. This issue is fixed in version 1.1.1.

AnalysisAI

Arbitrary Python code execution in FreeCAD's BIM module (versions 0.19 through pre-1.1.1) is triggered when a user opens a malicious project template file through the BIM Project Manager's Load Template function. The loadTemplate() method in BimProjectManager.py passes FCStd metadata fields (wpposition, wpu, wpv, wpaxis) directly to Python's built-in eval(), enabling an attacker who can deliver a crafted template to achieve full code execution under the victim's user account. No public exploit has been identified at time of analysis; the vendor-released patch is confirmed in version 1.1.1.

Technical ContextAI

FreeCAD uses FCStd files (ZIP archives containing XML metadata) as its project format. The BIM module's BimProjectManager.py reads working plane properties from template metadata and passes them directly to Python's built-in eval() - a textbook CWE-95 (Improper Neutralization of Directives in Dynamically Evaluated Code / Eval Injection) pattern. The fix in PR #28610 introduces a purpose-built _parse_vector() function using strict regex matching (r'^\s*Vector\s*\(\s*([^,]+)\s*,\s*([^,]+)\s*,\s*([^,)]+)\s*\)\s*$') to extract only numeric Vector(x,y,z) components, eliminating arbitrary code paths. The same patch batch also remediated related eval() misuse in BimLayers.py (replaced with ast.literal_eval() for color data), BimTDPage.py (arithmetic scale parsing), and exportIFC.py (boolean string comparison). Affected CPE: cpe:2.3:a:freecad:freecad:*:*:*:*:*:*:*:* covering versions 0.19 through 1.1.0 across all supported platforms.

RemediationAI

Upgrade to FreeCAD 1.1.1, the confirmed patched release available at https://github.com/FreeCAD/FreeCAD/releases/tag/1.1.1. The fix replaces all unsafe eval() calls in the BIM module with safe alternatives: a regex-validated _parse_vector() function for working plane vector fields (commits 871ee19b76224910332bbfbd39eebbede967998b and 9ed351cc4700db0a94c46f020c34c58bbf1bdaba), ast.literal_eval() for color tuples in BimLayers.py, explicit arithmetic parsing in BimTDPage.py, and direct string comparison for booleans in exportIFC.py. If immediate upgrade is not feasible, the primary compensating control is to treat FCStd BIM template files from external or untrusted sources with the same caution as executable attachments - verify file origin and integrity before loading. There is no known configuration option to disable only the vulnerable loadTemplate() code path without disabling the BIM module entirely, which would eliminate BIM Project Manager functionality. Organizations sharing templates across teams should establish a verified-source policy for template distribution.

More in Python

View all
CVE-2025-24016 CRITICAL POC
9.9 Feb 10

Wazuh SIEM platform versions 4.4.0 through 4.9.0 contain an unsafe deserialization vulnerability in the DistributedAPI t

CVE-2025-27520 CRITICAL POC
9.8 Apr 04

BentoML version 1.4.2 and earlier contains an unauthenticated remote code execution vulnerability through insecure deser

CVE-2025-2945 CRITICAL POC
9.9 Apr 03

pgAdmin 4 contains critical remote code execution vulnerabilities in the Query Tool download and Cloud Deployment endpoi

CVE-2013-5093 MEDIUM POC
6.8 Sep 27

The renderLocalView function in render/views.py in graphite-web in Graphite 0.9.5 through 0.9.10 uses the pickle Python

CVE-2025-32375 CRITICAL POC
9.8 Apr 09

BentoML is a Python library for building online serving systems optimized for AI apps and model inference. Rated critica

CVE-2014-0224 HIGH POC
7.4 Jun 05

OpenSSL before 0.9.8za, 1.0.0 before 1.0.0m, and 1.0.1 before 1.0.1h does not properly restrict processing of ChangeCiph

CVE-2024-21644 HIGH POC
7.5 Jan 08

pyLoad download manager version prior to 0.5.0b3.dev77 exposes the Flask SECRET_KEY through an unauthenticated endpoint.

CVE-2026-33017 CRITICAL POC
9.3 Mar 17

Langflow (a visual LLM pipeline builder) contains a critical unauthenticated code execution vulnerability (CVE-2026-3301

CVE-2017-9462 HIGH POC
8.8 Jun 06

In Mercurial before 4.1.3, "hg serve --stdio" allows remote authenticated users to launch the Python debugger, and conse

CVE-2026-49869 CRITICAL POC
10.0 Jun 26

Unauthenticated remote code execution affects Kestra OSS (the open-source event-driven orchestration platform) prior to

CVE-2026-39987 CRITICAL POC
9.3 Apr 08

Unauthenticated remote code execution in Marimo ≤0.20.4 allows attackers to execute arbitrary system commands via the `/

CVE-2024-21645 MEDIUM POC
5.3 Jan 08

pyLoad is the free and open-source Download Manager written in pure Python. Rated medium severity (CVSS 5.3), this vulne

Vendor StatusVendor

Share

EUVD-2026-60457 vulnerability details – vuln.today

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy