Sårbarhed i OpenOffice, der tillader kodeudførelse ved åbning af en fil

En sårbarhed (CVE-2021-33035) er blevet identificeret i Apache OpenOffice-kontorpakken, der tillader kodeudførelse ved åbning af en specialdesignet fil i DBF-formatet. Forskeren, der opdagede problemet, advarede om at skabe en fungerende udnyttelse til Windows-platformen. Sårbarhedsrettelsen er i øjeblikket kun tilgængelig i form af en patch i projektlageret, som var inkluderet i testbuilds af OpenOffice 4.1.11. Der er endnu ingen opdateringer til staldgrenen.

Problemet skyldes, at OpenOffice stoler på fieldLength- og fieldType-værdierne i DBF-filernes overskrift til at allokere hukommelse uden at kontrollere, at den faktiske datatype i felterne stemmer overens. For at udføre et angreb kan du angive en INTEGER-type i fieldType-værdien, men placere større data og angive en fieldLength-værdi, der ikke svarer til størrelsen på dataene med INTEGER-typen, hvilket vil føre til dataenes hale fra feltet, der skrives ud over den tildelte buffer. Som et resultat af et kontrolleret bufferoverløb var forskeren i stand til at omdefinere returmarkøren fra funktionen og ved hjælp af returorienterede programmeringsteknikker (ROP - Return-Oriented Programming) opnå eksekveringen af ​​sin kode.

Når man bruger ROP-teknikken, forsøger angriberen ikke at placere sin kode i hukommelsen, men opererer på stykker af maskininstruktioner, der allerede er tilgængelige i indlæste biblioteker, og slutter med en kontrolreturinstruktion (som regel er disse enderne af biblioteksfunktioner) . Arbejdet med udnyttelsen kommer ned til at bygge en kæde af opkald til lignende blokke ("gadgets") for at opnå den ønskede funktionalitet. De gadgets, der blev brugt i OpenOffice-udnyttelsen, var kode fra biblioteket libxml2 brugt i OpenOffice, som i modsætning til OpenOffice selv blev kompileret uden beskyttelsesmekanismerne DEP (Data Execution Prevention) og ASLR (Address Space Layout Randomization).

OpenOffice-udviklere blev underrettet om problemet den 4. maj, hvorefter en offentlig offentliggørelse af sårbarheden var planlagt til den 30. august. Da opdateringen til den stabile gren ikke var afsluttet på den planlagte dato, udsatte forskeren offentliggørelsen af ​​detaljer til den 18. september, men det lykkedes ikke OpenOffice-udviklerne at oprette udgivelse 4.1.11 på denne dato. Det er bemærkelsesværdigt, at der under den samme undersøgelse blev identificeret en lignende sårbarhed i DBF-formatstøttekoden i Microsoft Office Access (CVE-2021–38646), hvis detaljer vil blive afsløret senere. Ingen problemer fundet i LibreOffice.

Kilde: opennet.ru

Tilføj en kommentar