Vulnerabilitat a l'OpenOffice que permet l'execució de codi en obrir un fitxer

S'ha identificat una vulnerabilitat (CVE-2021-33035) a la suite ofimàtica Apache OpenOffice que permet l'execució de codi en obrir un fitxer especialment dissenyat en format DBF. L'investigador que va descobrir el problema va advertir sobre la creació d'un exploit de treball per a la plataforma Windows. Actualment, la correcció de vulnerabilitat només està disponible en forma de pedaç al dipòsit del projecte, que es va incloure a les versions de prova d'OpenOffice 4.1.11. Encara no hi ha actualitzacions per a la branca estable.

El problema és causat perquè OpenOffice confia en els valors fieldLength i fieldType a la capçalera dels fitxers DBF per assignar memòria, sense comprovar que el tipus de dades real dels camps coincideixi. Per dur a terme un atac, podeu especificar un tipus INTEGER al valor fieldType, però col·loqueu dades més grans i especifiqueu un valor fieldLength que no es correspongui amb la mida de les dades amb el tipus INTEGER, que donarà lloc a la cua de les dades. del camp que s'escriu més enllà del buffer assignat. Com a resultat d'un desbordament controlat del buffer, l'investigador va poder redefinir el punter de retorn a partir de la funció i, mitjançant tècniques de programació orientada al retorn (ROP - Return-Oriented Programming), aconseguir l'execució del seu codi.

Quan utilitza la tècnica ROP, l'atacant no intenta col·locar el seu codi a la memòria, sinó que opera amb peces d'instruccions de màquina que ja estan disponibles a les biblioteques carregades, acabant amb una instrucció de retorn de control (per regla general, aquests són els extrems de les funcions de la biblioteca). . El treball de l'explotació es redueix a construir una cadena de trucades a blocs similars ("gadgets") per obtenir la funcionalitat desitjada. Els gadgets utilitzats en l'explotació d'OpenOffice eren codi de la biblioteca libxml2 utilitzada a OpenOffice, que, a diferència del mateix OpenOffice, es va compilar sense els mecanismes de protecció DEP (Data Execution Prevention) i ASLR (Address Space Layout Randomization).

Els desenvolupadors d'OpenOffice van ser notificats del problema el 4 de maig, després del qual es va programar una divulgació pública de la vulnerabilitat per al 30 d'agost. Com que l'actualització de la branca estable no es va completar a la data prevista, l'investigador va ajornar la divulgació dels detalls al 18 de setembre, però els desenvolupadors d'OpenOffice no van aconseguir crear la versió 4.1.11 en aquesta data. Cal destacar que durant la mateixa investigació, es va identificar una vulnerabilitat similar al codi de suport del format DBF a Microsoft Office Access (CVE-2021–38646), els detalls de la qual es revelaran més endavant. No s'han trobat problemes a LibreOffice.

Font: opennet.ru

Afegeix comentari