Sicherheitslücke in OpenOffice, die die Codeausführung beim Öffnen einer Datei ermöglicht

In der Apache OpenOffice-Office-Suite wurde eine Schwachstelle (CVE-2021-33035) identifiziert, die die Codeausführung beim Öffnen einer speziell entwickelten Datei im DBF-Format ermöglicht. Der Forscher, der das Problem entdeckte, warnte davor, einen funktionierenden Exploit für die Windows-Plattform zu erstellen. Der Schwachstellen-Fix ist derzeit nur in Form eines Patches im Projekt-Repository verfügbar, der in den Test-Builds von OpenOffice 4.1.11 enthalten war. Es gibt noch keine Updates für den Stable-Zweig.

Das Problem wird dadurch verursacht, dass OpenOffice sich bei der Speicherzuweisung auf die Werte fieldLength und fieldType im Header der DBF-Dateien verlässt, ohne zu prüfen, ob der tatsächliche Datentyp in den Feldern übereinstimmt. Um einen Angriff durchzuführen, können Sie im fieldType-Wert einen INTEGER-Typ angeben, aber größere Daten platzieren und einen fieldLength-Wert angeben, der nicht der Größe der Daten mit dem INTEGER-Typ entspricht, was zum Ende der Daten führt aus dem Feld, das über den zugewiesenen Puffer hinaus geschrieben wird. Durch einen kontrollierten Pufferüberlauf konnte der Forscher den Rückgabezeiger der Funktion neu definieren und mithilfe rückgabeorientierter Programmiertechniken (ROP – Return-Oriented Programming) die Ausführung seines Codes erreichen.

Bei Verwendung der ROP-Technik versucht der Angreifer nicht, seinen Code im Speicher abzulegen, sondern arbeitet mit Teilen von Maschinenanweisungen, die bereits in geladenen Bibliotheken verfügbar sind, und endet mit einer Steuerrückgabeanweisung (in der Regel sind dies die Enden von Bibliotheksfunktionen). . Die Arbeit des Exploits besteht darin, eine Kette von Aufrufen ähnlicher Blöcke („Gadgets“) aufzubauen, um die gewünschte Funktionalität zu erhalten. Bei den im OpenOffice-Exploit verwendeten Gadgets handelte es sich um Code aus der in OpenOffice verwendeten libxml2-Bibliothek, die im Gegensatz zu OpenOffice selbst ohne die Schutzmechanismen DEP (Data Execution Prevention) und ASLR (Address Space Layout Randomization) kompiliert wurde.

OpenOffice-Entwickler wurden am 4. Mai über das Problem informiert, woraufhin eine öffentliche Offenlegung der Schwachstelle für den 30. August geplant war. Da das Update auf den Stable-Zweig nicht zum geplanten Termin abgeschlossen war, verschob der Forscher die Offenlegung der Details auf den 18. September, doch die OpenOffice-Entwickler schafften es bis zu diesem Datum nicht, Release 4.1.11 zu erstellen. Bemerkenswert ist, dass im Rahmen derselben Untersuchung eine ähnliche Schwachstelle im DBF-Format-Unterstützungscode in Microsoft Office Access (CVE-2021–38646) identifiziert wurde, deren Einzelheiten später bekannt gegeben werden. In LibreOffice wurden keine Probleme gefunden.

Source: opennet.ru

Kommentar hinzufügen