Descubriron unha vulnerabilidade crítica en Apache OpenOffice

Hai uns días revelouse unha vulnerabilidade iso foi identificado na suite ofimática Apache OpenOffice, este erro aparece na lista CVE-2021-33035 permite a execución de código ao abrir un ficheiro especialmente elaborado en formato DBF.

O problema é porque OpenOffice depende dos valores fieldLength e fieldType na cabeceira dos ficheiros DBF para asignar memoria sen comprobar o tipo de datos real nos campos.

Sobre a vulnerabilidade

Para realizar un ataque, pode especificar o tipo INTEGER no valor fieldType, pero poñer datos máis grandes e especifique o valor FieldLength que non se corresponde co tamaño dos datos INTEGER, o que levará ao feito de que os datos da cola do campo se escribirán fóra do búfer asignado.

Como resultado dun desbordamento de búfer controlado, o investigador puido redefinir o punteiro de retorno da función e empregando técnicas de programación orientada ao retorno (ROP), logrou a execución do seu código.

Un consello que recibín no comezo da viaxe de investigación sobre vulnerabilidades foi centrarme nun formato de ficheiro, non nun software específico. Hai dúas vantaxes principais deste enfoque. En primeiro lugar, como principiante, faltoulle a experiencia para identificar rapidamente vectores de ataque únicos en aplicacións individuais, mentres que a análise do formato de ficheiro adoita ser un punto de entrada común entre moitas aplicacións. 

Ademais, os formatos de ficheiro comúns están ben documentados mediante as solicitudes de comentarios (RFC) ou código fonte aberto, o que reduce o esforzo necesario para realizar un enxeño inverso do formato..

Cando usa a técnica ROP, o atacante non tenta poñer o seu código na memoria, senón que opera nas partes do instrucións da máquina que xa están dispoñibles nas bibliotecas cargadas, rematando cunha instrución de retorno de control (como regra, estes son o final da biblioteca de funcións).

O traballo do exploit redúcese á construción dunha cadea de chamadas a bloques similares ("gadgets") para obter a funcionalidade requirida.

Como gadgets no exploit para OpenOffice, mencionase que se utilizou o código da biblioteca libxml2 empregado en OpenOffice, que, a diferenza de OpenOffice, resultou ser ensamblado sen mecanismos de protección DEP (Data Execution Prevention) e ASLR (Space Space). Aleatorización de deseño).

Os desenvolvedores de OpenOffice foron notificados sobre o problema o 4 de maio de tras o cal estaba prevista unha divulgación pública da vulnerabilidade para o 30 de agosto.

Dado que a rama estable non se actualizou na data planificado eO investigador aprazou a liberación de detalles ata o 18 de setembro. pero os desenvolvedores de OpenOffice non tiveron tempo para construír a versión 4.1.11 nese momento. Cómpre ter en conta que no transcurso do mesmo estudo revelouse unha vulnerabilidade similar no código para soportar o formato DBF en Microsoft Office Access (CVE-2021-38646), cuxos detalles serán revelados máis adiante. Non se atoparon problemas en LibreOffice.

A documentación do formato de ficheiro para dBase era relativamente fácil de descubrir; Wikipedia ten unha descrición sinxela da versión 5 do formato e dBase LLC tamén ofrece unha especificación actualizada. A Biblioteca do Congreso lista un incrible catálogo de formatos de ficheiro, incluído DBF. As distintas versións e extensións do formato DBF ofrecen amplas oportunidades aos programadores para introducir vulnerabilidades de exploración.

O formato DBF consta de dúas seccións principais: a cabeceira e o corpo. A cabeceira inclúe un prefixo que describe a versión da base de datos dBase, a marca de tempo da última actualización e outros metadatos. Máis importante aínda, especifica a lonxitude de cada rexistro na base de datos, a lonxitude da estrutura de cabeceira, o número de rexistros e os campos de datos nun rexistro.

O investigador que identificou o problema avisou sobre a creación dun exploit funcional para a plataforma Windows. A solución para a vulnerabilidade só está dispoñible como un parche no repositorio do proxecto, que se incluíu nas compilacións de proba de OpenOffice 4.1.11.

Por último, se está interesado en saber máis sobre el, pode consultar a nota orixinal en a seguinte ligazón.


O contido do artigo adhírese aos nosos principios de ética editorial. Para informar dun erro faga clic en aquí.

2 comentarios, deixa os teus

Deixa o teu comentario

Enderezo de correo electrónico non será publicado. Os campos obrigatorios están marcados con *

*

*

  1. Responsable dos datos: Miguel Ángel Gatón
  2. Finalidade dos datos: controlar SPAM, xestión de comentarios.
  3. Lexitimación: o seu consentimento
  4. Comunicación dos datos: os datos non serán comunicados a terceiros salvo obrigación legal.
  5. Almacenamento de datos: base de datos aloxada por Occentus Networks (UE)
  6. Dereitos: en calquera momento pode limitar, recuperar e eliminar a súa información.

  1.   Marcador de posición de Diego Vallejo dixo

    ¿Aínda se usa OpenOffice en 2021?
    ¿Non escoitaches que hai LibreOffice.org compatible?

  2.   CEO de Paul Cormier, Red Hat, Inc. dixo

    Hai xente hoxe que usa ese zombi chamado openoffice?