Vulnerabilidade en OpenOffice que permite a execución de código ao abrir un ficheiro

Identificouse unha vulnerabilidade (CVE-2021-33035) na suite ofimática Apache OpenOffice que permite a execución de código ao abrir un ficheiro especialmente deseñado en formato DBF. O investigador que descubriu o problema advertiu sobre a creación dun exploit operativo para a plataforma Windows. A corrección de vulnerabilidades só está dispoñible actualmente en forma de parche no repositorio do proxecto, que se incluíu nas compilacións de proba de OpenOffice 4.1.11. Aínda non hai actualizacións para a rama estable.

O problema é causado porque OpenOffice depende dos valores fieldLength e fieldType na cabeceira dos ficheiros DBF para asignar memoria, sen comprobar que o tipo de datos real dos campos coincida. Para levar a cabo un ataque, pode especificar un tipo INTEGER no valor fieldType, pero colocar datos máis grandes e especificar un valor fieldLength que non se corresponda co tamaño dos datos co tipo INTEGER, o que levará á cola dos datos. desde o campo que se escribe máis aló do búfer asignado. Como resultado dun desbordamento controlado do búfer, o investigador puido redefinir o punteiro de retorno a partir da función e, mediante técnicas de Programación Orientada a Retorno (ROP), conseguir a execución do seu código.

Ao usar a técnica ROP, o atacante non tenta colocar o seu código na memoria, senón que opera con pezas de instrucións da máquina que xa están dispoñibles nas bibliotecas cargadas, rematando cunha instrución de retorno de control (por regra xeral, estes son os extremos das funcións da biblioteca). . O traballo do exploit redúcese a construír unha cadea de chamadas a bloques similares ("gadgets") para obter a funcionalidade desexada. Os gadgets utilizados no exploit de OpenOffice foron código da biblioteca libxml2 utilizada en OpenOffice, que, a diferenza do propio OpenOffice, foi compilada sen os mecanismos de protección DEP (Data Execution Prevention) e ASLR (Address Space Layout Randomization).

Os desenvolvedores de OpenOffice foron notificados do problema o 4 de maio, tras o cal estaba prevista unha divulgación pública da vulnerabilidade para o 30 de agosto. Dado que a actualización da rama estable non se completou na data prevista, o investigador aprazou a divulgación dos detalles ata o 18 de setembro, pero os desenvolvedores de OpenOffice non lograron crear a versión 4.1.11 ata esta data. Cabe destacar que durante a mesma investigación identificouse unha vulnerabilidade similar no código de soporte do formato DBF en Microsoft Office Access (CVE-2021–38646), cuxos detalles se revelarán máis adiante. Non se atopou ningún problema en LibreOffice.

Fonte: opennet.ru

Engadir un comentario