Sårbarhet i OpenOffice som tillater kjøring av kode ved åpning av en fil

En sårbarhet (CVE-2021-33035) er identifisert i Apache OpenOffice-kontorpakken som tillater kodekjøring når du åpner en spesialdesignet fil i DBF-formatet. Forskeren som oppdaget problemet advarte om å lage en fungerende utnyttelse for Windows-plattformen. Sårbarhetsreparasjonen er foreløpig bare tilgjengelig i form av en oppdatering i prosjektlageret, som ble inkludert i testbyggene til OpenOffice 4.1.11. Det er ingen oppdateringer for stallgrenen ennå.

Problemet er forårsaket av at OpenOffice stoler på fieldLength- og fieldType-verdiene i overskriften til DBF-filene for å allokere minne, uten å sjekke at den faktiske datatypen i feltene stemmer overens. For å utføre et angrep kan du spesifisere en INTEGER-type i fieldType-verdien, men plasser større data og spesifiser en fieldLength-verdi som ikke samsvarer med størrelsen på dataene med INTEGER-typen, som vil føre til halen av dataene fra feltet skrives utover den tildelte bufferen. Som et resultat av en kontrollert bufferoverflyt, var forskeren i stand til å redefinere returpekeren fra funksjonen, og ved hjelp av returorientert programmering (ROP)-teknikker oppnå utførelsen av koden hans.

Når du bruker ROP-teknikken, prøver ikke angriperen å plassere koden sin i minnet, men opererer på deler av maskininstruksjoner som allerede er tilgjengelige i lastede biblioteker, og slutter med en kontrollreturinstruksjon (som regel er dette slutten av bibliotekfunksjoner) . Arbeidet med utnyttelsen kommer ned til å bygge en kjede av samtaler til lignende blokker («gadgets») for å oppnå ønsket funksjonalitet. Innretningene som ble brukt i OpenOffice-utnyttelsen var kode fra libxml2-biblioteket brukt i OpenOffice, som, i motsetning til OpenOffice selv, ble kompilert uten beskyttelsesmekanismene DEP (Data Execution Prevention) og ASLR (Address Space Layout Randomization).

OpenOffice-utviklere ble varslet om problemet 4. mai, hvoretter en offentlig avsløring av sårbarheten var planlagt til 30. august. Siden oppdateringen til den stabile grenen ikke ble fullført innen den planlagte datoen, utsatte forskeren avsløringen av detaljer til 18. september, men OpenOffice-utviklerne klarte ikke å opprette utgivelse 4.1.11 innen denne datoen. Det er bemerkelsesverdig at under den samme undersøkelsen ble en lignende sårbarhet identifisert i støttekoden for DBF-format i Microsoft Office Access (CVE-2021–38646), hvis detaljer vil bli avslørt senere. Ingen problemer funnet i LibreOffice.

Kilde: opennet.ru

Legg til en kommentar