Luka w OpenOffice, która umożliwia wykonanie kodu przy otwieraniu pliku.

W pakiecie biurowym Apache OpenOffice wykryto lukę (CVE-2021-33035), która pozwala na wykonanie kodu przy otwieraniu specjalnie przygotowanego pliku w formacie DBF. Badacz, który ujawnił problem, ostrzegł przed stworzeniem działającego exploit-a dla platformy Windows. Poprawka luki jest na razie dostępna tylko w formie łatki w repozytorium projektu, które znalazło się w składzie testowych kompilacji OpenOffice 4.1.11. Aktualizacje dla stabilnej gałęzi jeszcze nie zostały wydane.

Problem wynika z tego, że przy przydzielaniu pamięci OpenOffice opierał się na wartościach fieldLength i fieldType w nagłówku plików DBF, nie sprawdzając zgodności rzeczywistego typu danych w polach. Aby przeprowadzić atak, można wskazać w wartości fieldType typ INTEGER, ale umieścić dane większe i podać wartość fieldLength niezgodną z rozmiarem danych typu INTEGER, co spowoduje, że końcowe dane z pola zostaną zapisane poza przydzielonym buforem. W wyniku kontrolowanego przepełnienia bufora badaczowi udało się nadpisać wskaźnik powrotu z funkcji i za pomocą technik programowania zorientowanego na powroty (ROP - Return-Oriented Programming) wykonać swój kod.

Przy zastosowaniu techniki ROP atakujący nie próbuje umieścić swojego kodu w pamięci, lecz operuje już istniejącymi w załadowanych bibliotekach fragmentami instrukcji maszynowych, kończącymi się instrukcją powrotu (zazwyczaj są to zakończenia funkcji bibliotecznych). Działanie exploita polega na stworzeniu łańcucha wywołań takich bloków („gadżetów”) w celu uzyskania wymaganej funkcjonalności. Jako gadżety w exploicie dla OpenOffice wykorzystano kod z używanej w OpenOffice biblioteki libxml2, która w odróżnieniu od samego OpenOffice została skompilowana bez mechanizmów ochrony DEP (Data Execution Prevention) i ASLR (Address Space Layout Randomization).

Deweloperzy OpenOffice zostali poinformowani o problemie 4 maja, po czym na 30 sierpnia zaplanowano publiczne ujawnienie informacji o podatności. Ponieważ do wyznaczonego terminu nie zostało przygotowane aktualizowane stabilnej wersji, badacz przeniósł ujawnienie szczegółów na 18 września, ale deweloperzy OpenOffice nie zdążyli przygotować wydania 4.1.11 na ten termin. Warto zauważyć, że podczas tych samych badań odkryto podobną podatność w kodzie obsługi formatu DBF w Microsoft Office Access (CVE-2021–38646), szczegóły, o których będą ujawnione później. W LibreOffice nie znaleziono żadnych problemów.

Źródło: opennet.ru

Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS 🔥 Kup solidny hosting stron z ochroną przed DDoS, serwery VPS VDS | ProHoster