Podatności FreeCAD
6 znanych podatności CVE w FreeCAD, przetłumaczonych i ocenionych.
- CVE-2026-34789Wysokie
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.
- 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.

