CVE-2026-34789
WysokieCVSS 7.0Prawdopodobieństwo exploitacji (EPSS)
Niskie ryzykoPercentyl 9 - wyżej niż 9% 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ę.
Inne podatności w FreeCAD
Zobacz wszystkie- CVE-2026-34399Wysokie
FreeCAD od wersji 0.19 do 1.1.1 zawiera podatność w BIM Workbench, gdzie wywoływana jest funkcja eval() na niezaufanych danych z plików szablonów SVG. Gdy użytkownik tworzy stronę TechDraw ze złośliwego szablonu SVG, wykonywany jest dowolny kod Pythona.
- CVE-2026-34398Wysokie
FreeCAD od wersji 0.19 do 1.1.1 zawiera podatność w BIM Project Manager Load Template flow, gdzie wartości właściwości FCStd Meta (wpposition, wpu, wpv, wpaxis) kontrolowane przez atakującego są przekazywane bezpośrednio do funkcji eval(), co pozwala na wykonanie dowolnego kodu Pythona podczas ładowania złośliwego szablonu projektu BIM.
- CVE-2026-73235Średnie
FreeCAD przed wersją 1.1.2 używa parsera XML Xerces SAX2 w Base::XMLReader, który nie wyłącza domyślnego rozwiązywania encji zewnętrznych ani ładowania zewnętrznych DTD. Podczas otwierania spreparowanego archiwum .FCStd, zewnętrzne encje mogą czytać lokalne pliki lub inicjować żądania po stronie serwera, a treść może przepływać przez callback characters().
- CVE-2026-73234Wysokie
FreeCAD przed wersją 1.1.2 zawiera podatność w funkcji PropertyFileIncluded::Restore(), która łączy kontrolowany przez atakującego atrybut pliku lub danych z Document.xml ze ścieżką tymczasową dokumentu bez odrzucania komponentów katalogów, ścieżek bezwzględnych lub przejść nadrzędnych. Złośliwy archiwum .FCStd może zapisać dowolną treść w dowolnej lokalizacji dostępnej dla użytkownika FreeCAD.
- CVE-2026-73233Wysokie
FreeCAD przed wersją 1.1.2 zawiera podatność w oknie dialogowym zadania ograniczenia przemieszczenia FEM, która przekazuje pola xDisplacementFormula, yDisplacementFormula i zDisplacementFormula obiektu Fem::ConstraintDisplacement do Gui::Command::doCommand. Pomocnicza funkcja neutralizuje cudzysłowy, ale nie backslashe, co pozwala na wykonanie dowolnego kodu Python z uprawnieniami procesu FreeCAD.
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.
Dane podatności pochodzą z NVD (NIST) · CISA KEV · EPSS

