Eles descobriram uma vulnerabilidade crítica no Apache OpenOffice

Faz alguns dias uma vulnerabilidade foi divulgada que foi identificado no pacote de escritório Apache OpenOffice, este bug listado em CVE-2021-33035 permite a execução de código ao abrir um arquivo especialmente criado no formato DBF.

O problema é porque o OpenOffice depende dos valores fieldLength e fieldType no cabeçalho dos arquivos DBF para alocar memória sem verificar o tipo de dados real nos campos.

Sobre vulnerabilidade

Para realizar um ataque, você pode especificar o tipo INTEGER no valor fieldType, mas colocar dados maiores e especifique o valor fieldLength que não corresponde ao tamanho dos dados INTEGER, o que levará ao fato de que os dados da fila do campo serão gravados fora do buffer alocado.

Como resultado de um estouro de buffer controlado, o pesquisador conseguiu redefinir o ponteiro de retorno da função e, utilizando técnicas de Programação Orientada a Retorno (ROP), realizar a execução de seu código.

Um conselho que recebi no início da viagem de pesquisa de vulnerabilidade foi me concentrar em um formato de arquivo, não em um software específico. Existem duas vantagens principais dessa abordagem. Primeiro, como um iniciante, você não tinha experiência para identificar rapidamente vetores de ataque exclusivos em aplicativos individuais, enquanto a análise de formato de arquivo tende a ser um ponto de entrada comum entre muitos aplicativos. 

Além disso, os formatos de arquivo comuns são bem documentados usando Requests for Comments (RFCs) ou código-fonte aberto, reduzindo o esforço necessário para fazer a engenharia reversa do formato..

Ao usar a técnica ROP, o invasor não tenta colocar seu código na memória, mas sim que opera nas partes do instruções da máquina que já estão disponíveis nas bibliotecas carregadas, terminando com uma instrução de retorno de controle (como regra, estes são o fim da biblioteca de funções).

O trabalho da exploração se resume a construir uma cadeia de ligações para blocos semelhantes ("gadgets") para obter a funcionalidade necessária.

Como gadgets no exploit para OpenOffice, é mencionado que foi utilizado o código da biblioteca libxml2 usada no OpenOffice, que, ao contrário do OpenOffice, acabou sendo montada sem mecanismos de proteção DEP (Data Execution Prevention) e ASLR (Address Space). Randomização de layout).

Os desenvolvedores do OpenOffice foram notificados sobre o problema em 4 de maio, depois disso, uma divulgação pública da vulnerabilidade foi agendada para 30 de agosto.

Uma vez que o ramo estável não foi atualizado na data planejado, eO investigador adiou a divulgação dos detalhes até 18 de setembro, mas os desenvolvedores do OpenOffice não tiveram tempo de construir a versão 4.1.11 naquela época. Deve-se observar que no decorrer do mesmo estudo, uma vulnerabilidade semelhante foi revelada no código para suportar o formato DBF no Microsoft Office Access (CVE-2021-38646), cujos detalhes serão divulgados posteriormente. Nenhum problema encontrado no LibreOffice.

A documentação do formato de arquivo para dBase foi relativamente fácil de descobrir; A Wikipedia tem uma descrição simples da versão 5 do formato e o dBase LLC também fornece uma especificação atualizada. A Biblioteca do Congresso lista um catálogo incrível de formatos de arquivo, incluindo DBF. As várias versões e extensões do formato DBF fornecem amplas oportunidades para os programadores introduzirem vulnerabilidades de varredura.

O formato DBF consiste em duas seções principais: o cabeçalho e o corpo. O cabeçalho inclui um prefixo que descreve a versão do banco de dados dBase, o carimbo de data / hora da última atualização e outros metadados. Mais importante, ele especifica o comprimento de cada registro no banco de dados, o comprimento da estrutura do cabeçalho, o número de registros e os campos de dados em um registro.

O pesquisador que identificou o problema alertado sobre a criação de um exploit funcional para a plataforma Windows. A correção para a vulnerabilidade está disponível apenas como um patch no repositório do projeto, que foi incluído nas compilações de teste do OpenOffice 4.1.11.

Por fim, se você estiver interessado em saber mais sobre o assunto, pode consultar a nota original em o seguinte link.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.

  1.   Imagem de placeholder de Diego Vallejo dito

    O OpenOffice ainda é usado em 2021?
    Você não ouviu dizer que o LibreOffice.org é compatível?

  2.   Paul Cormier CEO da Red Hat, Inc. dito

    Existem pessoas hoje que usam aquele zumbi chamado openoffice?