Eine Sicherheitsanfälligkeit in OpenOffice, die die Ausführung von Code beim Öffnen einer Datei ermöglicht.

Im Büro-Paket Apache OpenOffice wurde eine Sicherheitsanfälligkeit (CVE-2021-33035) entdeckt, die es ermöglicht, beliebigen Code auszuführen, wenn eine speziell gestaltete Datei im DBF-Format geöffnet wird. Der Entdecker des Problems warnte davor, dass ein funktionierender Exploit für die Windows-Plattform erstellt wurde. Ein Patch zur Behebung der Sicherheitsanfälligkeit ist derzeit nur in Form eines Patches im Repository des Projekts verfügbar, das Teil der Testversionen von OpenOffice 4.1.11 ist. Updates für den stabilen Zweig wurden bisher noch nicht veröffentlicht.

Das Problem entsteht dadurch, dass OpenOffice beim Speichern von Daten auf die Werte von fieldLength und fieldType im Header der DBF-Dateien angewiesen ist, ohne die Übereinstimmung des tatsächlichen Datentyps in den Feldern zu überprüfen. Um einen Angriff durchzuführen, kann der fieldType als INTEGER angegeben werden, während größer dimensionierte Daten abgelegt und ein Wert für fieldLength angegeben wird, der nicht der Größe der Daten mit dem Typ INTEGER entspricht, was dazu führt, dass das Ende der Daten aus dem Feld über den zugewiesenen Buffer hinaus gespeichert wird. Aufgrund des kontrollierten Bufferüberlaufs gelang es dem Forscher, den Rückgabepointer aus der Funktion zu überschreiben und mit Methoden der Rücksprungorientierten Programmierung (ROP — Return-Oriented Programming) die Ausführung seines Codes zu erreichen.

Bei der Verwendung der ROP-Technik versucht der Angreifer nicht, seinen eigenen Code im Speicher abzulegen, sondern arbeitet mit bereits vorhandenen maschinellen Anweisungsschnipseln aus den geladenen Bibliotheken, die mit einer Rückgabesteuerungsanweisung enden (in der Regel handelt es sich um die Enden von Bibliotheksfunktionen). Die Funktionsweise des Exploits besteht darin, eine Kette von Aufrufen ähnlicher Blöcke („Gadgets“) zu erstellen, um die gewünschte Funktionalität zu erhalten. Im Exploit für OpenOffice wurde Code aus der in OpenOffice verwendeten Bibliothek libxml2 verwendet, die im Gegensatz zu OpenOffice ohne Schutzmechanismen wie DEP (Data Execution Prevention) und ASLR (Address Space Layout Randomization) kompiliert wurde.

Die Entwickler von OpenOffice wurden am 4. Mai über das Problem informiert, woraufhin eine öffentliche Offenlegung der Schwachstelle auf den 30. August angesetzt wurde. Da bis zu diesem Stichtag das Update des stabilen Branches nicht bereitgestellt wurde, verschob der Forscher die Offenlegung der Details auf den 18. September. Die Entwickler von OpenOffice hatten jedoch auch bis zu diesem Datum kein Release 4.1.11 formatiert. Bemerkenswert ist, dass im Rahmen derselben Untersuchung eine ähnliche Schwachstelle im Code zur Unterstützung des DBF-Formats in Microsoft Office Access (CVE-2021–38646) gefunden wurde, deren Details später veröffentlicht werden. In LibreOffice wurden keine Probleme gefunden.

Quelle: opennet.ru

60GB SSD 8Gb DDR4