
A vulnerabilidade CVE-2018-0802 afeta o processo EQNEDT32.EXE do Office Equation 3.0 e permite estouro de pilha acionado por objeto OLE de equação em arquivo RTF.
| Componente | Microsoft Office Equation 3.0, executado pelo processo de 32 bits EQNEDT32.EXE. |
| Vetor | Objeto OLE de equação inserido em arquivo RTF, com valores controlados que levam a cópia excessiva para variáveis locais na pilha. |
| Impacto | Estouro de pilha com sobrescrita de EIP, possibilitando execução remota de código quando o documento malicioso é processado. |
| Prioridade | Aplicar a correção da Microsoft para CVE-2018-0802, restringir documentos RTF não confiáveis e monitorar invocações anômalas de EQNEDT32.EXE. |
| Mitigação relevante | A Microsoft passou a forçar ASLR no processo, mas a técnica analisada demonstrou contorno da mitigação em razão da baixa entropia do módulo de 32 bits. |
| Artefatos | Arquivos RTF com múltiplos objetos OLE de equação e comportamento de falha silenciosa do processo durante tentativas de exploração. |
A vulnerabilidade CVE-2018-0802 está ligada ao mecanismo antigo do Microsoft Office Equation 3.0, componente executado pelo binário EQNEDT32.EXE. O problema ocorre em uma rotina que consome bytes de um objeto de equação e copia dados para áreas locais sem garantir, nas condições descritas, que o limite da pilha seja respeitado. Quando um arquivo RTF contém um objeto OLE de equação com valores cuidadosamente manipulados, o fluxo de processamento pode avançar até um estouro de pilha e sobrescrever o registrador de instrução EIP, condição clássica para desvio de execução.
O caso é tecnicamente relevante porque o componente analisado era um processo de 32 bits e, antes das correções recentes citadas na análise, não contava com ASLR mesmo em sistemas Windows 10. A Microsoft introduziu uma mitigação forçando ASLR no processo, mas a exploração demonstrada contornou essa barreira ao aproveitar a baixa entropia disponível para módulos de 32 bits. Em vez de depender de um endereço fixo único, o documento pode carregar múltiplos objetos de equação, cada um preparado para uma possibilidade diferente de base do módulo, cobrindo o espaço de randomização descrito.
A correção foi disponibilizada pela Microsoft no Patch Tuesday e vinculada à CVE-2018-0802. A descoberta também reforça um risco operacional mais amplo: componentes legados embutidos em suítes de produtividade continuam sendo superfícies de ataque relevantes, especialmente quando processam conteúdo complexo dentro de documentos recebidos por e-mail, portais internos, fluxos de atendimento, áreas jurídicas ou integrações documentais. Para defesa, a prioridade é combinar atualização, redução de exposição a RTF não confiável, inspeção de objetos OLE e telemetria de processo no endpoint.
O ponto central da falha envolve uma chamada permissiva à função get_byte(). Essa função incrementa uma variável global e copia o conteúdo apontado para o registrador AL. Em uma função vulnerável, o processamento segue em laço até encontrar um byte nulo. Se a estrutura fornecida pelo objeto de equação não trouxer esse terminador no ponto esperado, a cópia pode prosseguir além do limite pretendido e atingir a pilha. Esse desenho cria a condição de estouro quando o documento controla os dados usados pelo parser do Equation.
A análise identificou outro local de código que usava a mesma função de leitura de bytes e recebia parâmetros calculados a partir do objeto OLE de equação presente no arquivo. Dois valores, descritos como v12 e v13, determinavam a quantidade de dados copiada para endereços derivados de variáveis locais, referidas como v6 e v8. Quando esses valores assumem tamanho grande o suficiente, a rotina pode gravar além da área reservada, corromper a pilha e alcançar EIP. O impacto confirmado é execução remota de código condicionada ao processamento do documento malicioso.
A presença de ASLR não elimina a exploração porque o binário é de 32 bits e a randomização da base do módulo foi descrita como limitada a 256 possibilidades. O documento RTF pode conter 256 objetos de equação, cada um alinhado a uma possibilidade de base diferente para uma cadeia ROP. O processo também foi observado falhando sem apresentar indicação clara ao usuário, o que permite que tentativas que não atinjam o deslocamento correto não chamem atenção imediata. Esse comportamento aumenta a confiabilidade prática do ataque, embora a matéria não dependa de comandos ou carga operacional para demonstrar o risco.
Outro detalhe técnico importante é que, no momento da falha, EAX aponta para uma região próxima da entrada controlada pelo documento. A cadeia de exploração descrita ajusta esse ponteiro e transfere execução para WinExec, função já importada pelo binário. Antes do retorno corrompido, há uma chamada intermediária a sub_4428f0, que exige um endereço gravável como argumento. A técnica resolve essa restrição apontando para uma área gravável no próprio módulo e saltando sobre esse valor com um gadget curto. Para fins defensivos, o ponto relevante é que o ataque combina corrupção de pilha, previsão do espaço de ASLR e uso de código já presente no processo.
A superfície exposta está concentrada em ambientes que ainda aceitam ou processam documentos do Office contendo objetos OLE de equação. O vetor é particularmente sensível em estáções de trabalho, caixas de correio corporativas, plataformas de triagem de documentos, sistemas de atendimento que recebem anexos e fluxos automatizados que abrem ou indexam arquivos RTF. A exploração exige que o conteúdo malicioso seja processado pelo componente de equações; portanto, controles que bloqueiam OLE, restringem RTF ou impedem a execução do componente reduzem diretamente a exposição.
O componente afetado é legado, mas integrado ao ecossistema Office. A análise afirma que a vulnerabilidade existia havia 17 anos e estava presente nas versões do Office consideradas naquele contexto. Essa idade amplia o risco em parques heterogêneos, nos quais máquinas antigas, imagens corporativas defasadas ou sistemas fora do ciclo regular de atualização podem continuar aceitando o formato vulnerável. Como a falha se manifesta em um processo separado, a telemetria precisa olhar além do aplicativo Office principal e incluir o subprocesso EQNEDT32.EXE.
- Estáções Windows que processam arquivos RTF com objetos OLE de equação por meio do Microsoft Office.
- Ambientes em que
EQNEDT32.EXEpermanece disponível para abrir conteúdo Equation 3.0. - Fluxos de e-mail, help desk, jurídico, compras ou atendimento que recebem documentos externos.
- Sistemas que dependem apenas de ASLR como mitigação e não aplicaram a correção da
CVE-2018-0802.
A caça deve começar pela relação entre documentos RTF, objetos OLE e criação do processo EQNEDT32.EXE. Em endpoints, eventos de criação de processo podem revelar o Office chamando o Editor de Equações em momentos incomuns, especialmente quando o arquivo de origem vem de e-mail, navegador, compartilhamento temporário ou diretório de downloads. Como o processo pode falhar sem alerta visível ao usuário, eventos de crash, término anormal ou múltiplas execuções em sequência são sinais de interesse, principalmente quando correlacionados com um único documento.
No conteúdo de arquivos, a presença de muitos objetos OLE de equação em um mesmo RTF é um forte indicador comportamental porque a técnica descrita usa múltiplos objetos para cobrir as possibilidades de base do módulo sob ASLR. A defesa não precisa extrair uma cadeia ROP completa para priorizar a análise; basta identificar documentos que combinem RTF, Equation OLE e repetição incomum de estruturas. Em sandboxes, é útil observar se o arquivo aciona EQNEDT32.EXE, provoca falhas silenciosas e tenta fazer o processo criar outro processo ou chamar rotinas de execução de programa.
A telemetria de memória e EDR pode complementar a inspeção documental. Sinais como corrupção de pilha em EQNEDT32.EXE, desvios de controle após leitura de dados de equação, chamadas a WinExec a partir desse processo e uso de regiões próximas a dados controlados pelo documento são consistentes com a cadeia analisada. Esses sinais devem ser tratados como evidência de exploração ou tentativa de exploração, não como mero erro de compatibilidade, quando aparecem junto de anexos externos ou arquivos recém-baixados.
- Criação de
EQNEDT32.EXEpor aplicativos Office ao abrir RTF recebido de origem externa. - Arquivo RTF contendo múltiplos objetos OLE de equação, especialmente em quantidade elevada e repetitiva.
- Falhas silenciosas ou encerramentos anormais de
EQNEDT32.EXEdurante a abertura do mesmo documento. - Chamadas de execução de programa partindo de
EQNEDT32.EXEou criação inesperada de processos filhos. - Eventos de EDR associados a estouro de pilha, sobrescrita de ponteiro de retorno ou desvio de fluxo no componente de equações.
A primeira ação defensiva é aplicar a atualização da Microsoft que corrige CVE-2018-0802. Como a exploração contorna a mitigação de ASLR descrita, a presença de randomização no processo não deve ser considerada controle suficiente. Equipes de segurança devem validar a cobertura de patch em estáções, servidores usados para renderização ou indexação de documentos e imagens antigas de desktop. A validação precisa confirmar que o componente vulnerável não permanece acessível por instalações paralelas, versões antigas do Office ou máquinas fora do gerenciamento central.
Enquanto a atualização é distribuída, a exposição pode ser reduzida com bloqueio ou quarentena de RTF contendo objetos OLE de equação em gateways de e-mail, proxies, soluções de colaboração e ferramentas de DLP. Onde o negócio permitir, a abertura automática de conteúdo OLE deve ser restringida e documentos externos devem passar por sandbox antes de chegar ao usuário. Em ambientes de alto risco, regras de controle de aplicação podem impedir que EQNEDT32.EXE execute ou crie processos filhos, desde que a mudança seja testada contra fluxos legítimos que ainda dependam do Editor de Equações.
Após suspeita de exploração, a resposta deve preservar o documento, coletar eventos de processo, recuperar registros de crash e identificar o usuário e o canal de entrada. A contenção deve focar no endpoint que processou o arquivo e em qualquer processo filho iniciado por EQNEDT32.EXE. Como o impacto técnico confirmado é execução remota de código, a investigação precisa verificar persistência, alterações locais e execução subsequente, mas sem presumir exfiltração ou movimentação lateral sem evidência própria. A erradicação deve terminar com atualização, remoção do documento malicioso, revisão das políticas de anexos e testes de detecção.
- Aplicar a correção da Microsoft associada à
CVE-2018-0802em todos os sistemas que executam Microsoft Office. - Bloquear ou isolar arquivos RTF externos que contenham objetos OLE de equação quando não houver necessidade de negócio.
- Monitorar e restringir criação de processos filhos por
EQNEDT32.EXE. - Investigar falhas repetidas de
EQNEDT32.EXErelacionadas ao mesmo documento ou remetente. - Validar a remoção da exposição em imagens corporativas antigas e estáções fora do ciclo normal de atualização.
0 Comentários