CVE-2026-34789
WysokieCVSS 7.0Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 4 - wyżej niż 4% wszystkich znanych CVE
Streszczenie
FreeCAD przed wersją 1.1.2 zawiera podatność w PropertyPythonObject::Restore(), gdzie atrybut modułu kontrolowany przez atakującego z serializowanego XML PropertyPythonObject jest przekazywany bezpośrednio do PyImport_ImportModule() podczas przywracania spreparowanego dokumentu FCStd, co wykonuje kod Pythona na poziomie modułu. Dodatkowo gałąź pickle importuje kontrolowany moduł i wywołuje jego konstruktor klasy.
Ocena ryzyka
Otwarcie złośliwego pliku FCStd może prowadzić do wykonania dowolnego kodu w kontekście aplikacji, co może skutkować przejęciem systemu użytkownika.
Rekomendacja
Zaleca się aktualizację FreeCAD do wersji 1.1.2, która zawiera poprawkę.
Oryginalny opis (angielski, źródło NVD)
FreeCAD is a free and open-source multiplatform 3D parametric modeler. Prior to 1.1.2, src/App/PropertyPythonObject.cpp in PropertyPythonObject::Restore() passes the attacker-controlled module attribute from serialized PropertyPythonObject XML directly to PyImport_ImportModule() while restoring a crafted FCStd document, which executes module-level Python code, and the legacy pickle branch also imports an attacker-controlled module and invokes its class constructor through PyObject_CallObject(). This issue is fixed in version 1.1.2.

