CVE-2010-2572: Quando um Formato de Arquivo de 15 Anos se Torna uma Arma Moderna
O ponto é esse com parsers de formatos legados: eles quase sempre são escritos uma vez e depois esquecidos. Ninguém refatora o parser PowerPoint 95 quando lança o Office 2003.
CVSS: 7.8/10 (HIGH)
Affected: cpe:2.3:a:microsoft:powerpoint:2002:sp3:*:*:*:*:*:*; cpe:2.3:a:microsoft:powerpoint:2003:sp3:*:*:*:*:*:*
Available in English
CVE-2010-2572: Quando um Formato de Arquivo de 15 Anos se Torna uma Arma Moderna
Um arquivo PowerPoint de 1995 não deveria ser capaz de comprometer um sistema de 2010—mas foi exatamente isso que aconteceu aqui, e a razão pela qual isso aconteceu diz tudo sobre como o suporte a formatos legados se torna um passivo de segurança que sobrevive à tecnologia para a qual foi construído.
TL;DR
🎯 Impacto: Execução remota de código via arquivo PowerPoint 95 (.ppt) manipulado
🔓 Vetor de Ataque: Network (anexo de email / drive-by)
💥 Exploitabilidade: Moderada (requer que o usuário abra arquivo malicioso)
🛡️ Correção Disponível: Sim — MS10-088 (Patch Tuesday de Novembro de 2010)
⏱️ Aplicar Patch Agora: Sistemas legados ainda executando Office 2002/2003 — SIM, imediatamente
O Que Realmente Está Acontecendo
O ponto é esse com parsers de formatos legados: eles quase sempre são escritos uma vez e depois esquecidos. Ninguém refatora o parser PowerPoint 95 quando lança o Office 2003. Ninguém adiciona verificações de limites modernas a um caminho de código que "funciona perfeitamente". Ele fica lá, silenciosamente apodrecendo, esperando por alguém notar que o buffer alocado em 1995 ainda assume os mesmos limites de tamanho.
Essa é a causa raiz do CVE-2010-2572 em uma frase: o parser para o formato de arquivo binário PowerPoint 95 falhou em validar comprimentos de registros antes de copiar dados para um buffer fixo na stack ou heap, permitindo que um payload controlado pelo atacante estoure esse buffer e sobrescreva memória adjacente—incluindo dados de fluxo de controle como endereços de retorno ou ponteiros de exception handler.
O Padrão Vulnerável
Documentos PowerPoint 95 são estruturados como OLE Compound Documents, compostos de registros com um layout tipo/comprimento/dados. O parser lê o comprimento declarado no cabeçalho do registro e usa esse valor—sem validação suficiente—para conduzir uma operação de cópia de memória. Conceitualmente:
// Pseudocódigo representando o padrão vulnerável — NÃO é código fonte real
void parse_pp95_record(FILE *stream, RecordHeader *hdr) {
char buffer[FIXED_SIZE]; // alocado estaticamente, capacidade fixa
uint32_t record_length = hdr->length; // controlado pelo atacante do arquivo
// Verificação faltante: record_length <= FIXED_SIZE?
fread(buffer, 1, record_length, stream); // estouro ocorre aqui
process_record(buffer);
}
A falta de verificação de limites é toda a história. record_length vem diretamente do arquivo—um atacante pode defini-lo para qualquer coisa. Se record_length exceder FIXED_SIZE, o fread alegremente escreve além da fronteira do buffer, corrompendo frames de stack adjacentes ou metadados de heap dependendo de onde o buffer vive.
Por Que Esse Design Existia
O formato PowerPoint 95 foi projetado em uma era quando restrições de memória significavam que você frequentemente sabia o tamanho teórico máximo de um registro. Suposições de programação defensiva como "registros de apresentação não excederão X bytes" eram implícitas, não impostas. Quando esses formatos foram re-implementados em versões posteriores do Office para compatibilidade com versões anteriores, essas suposições implícitas vieram junto—mas o modelo de ameaça havia mudado fundamentalmente.
Isso é estruturalmente similar a vulnerabilidades em outros parsers legados de Microsoft Office da mesma era: CVE-2010-2571 (outro flaw de análise do PowerPoint corrigido no mesmo boletim), e a classe mais ampla de bugs de formato binário do Office que dominaram paisagens de ameaças de 2007 a 2012. O fio condutor é sempre parsers de formato legado carregando suposições que nunca deveriam ter existido em um mundo conectado em rede e adversarial.
Caminho de Exploração
A cadeia de ataque aqui é simples—o que é parte do que a torna perigosa.
Pré-requisitos:
- Atacante não precisa de autenticação, acesso à rede para recursos internos, ou privilégios especiais
- Vítima deve abrir um arquivo — engenharia social é a única barreira real
Passo a passo:
-
Criar o payload. O atacante constrói um arquivo
.pptcom um registro PP95 malformado onde o comprimento declarado vastamente excede os dados reais, dimensionado para estourar o buffer alvo por uma quantidade controlada. -
Entregar o arquivo. Spearphishing é o vetor óbvio—anexe o arquivo, enquadre como uma apresentação de conferência, um relatório trimestral, um deck de slides compartilhado. Usuários esperam arquivos
.ppt. Eles os abrem. -
Disparar análise. PowerPoint começa a analisar o compound document, encontra o registro malformado, e copia dados controlados pelo atacante além da fronteira do buffer.
-
Sequestro de fluxo de controle. Endereço de retorno sobrescrito ou registro Structured Exception Handler (SEH) redireciona execução. Dado o período de 2010, técnicas de bypass para DEP (Data Execution Prevention) via ROP chains eram bem compreendidas por atores sofisticados, embora sistemas menos endurecidos executando versões antigas do SO pudessem ser injetáveis de shellcode diretamente.
-
Execução de código. Neste ponto, o atacante tem execução no contexto da conta do usuário vítima. Em sistemas onde usuários executam como administradores locais (extremamente comum em ambientes empresariais de 2010), isso significa comprometimento completo do sistema.
O que um atacante ganha: Inicialmente, execução de código como o usuário logado. Combinado com um exploit de elevação de privilégio local—abundante no ecossistema de exploração de 2010—isso se torna comprometimento completo do sistema. A partir daí: colheita de credenciais, movimento lateral, persistência, exfiltração de dados.
Quem Realmente Está em Risco
As versões afetadas—PowerPoint 2002 SP3 (Office XP) e PowerPoint 2003 SP3—estavam ambas em suporte principal ou estendido em novembro de 2010. Ambientes empresariais com ciclos de patch lentos, políticas de ciclo de vida de software longo, ou dependências de compatibilidade em versões mais antigas do Office foram exatamente para quem isso se dirigia.
Indústrias mais expostas no momento da divulgação:
- Governo e contratados de defesa (ciclos de atualização de software longos, ataques direcionados prevalentes)
- Serviços financeiros (alvos de alto valor, ambientes de versão do Office mista)
- Healthcare (frequentemente executando software legado, lento para patchear)
- Qualquer organização com grande presença de Office 2003 ainda implantado
Exploração in-the-wild: Esta vulnerabilidade não era amplamente conhecida como sendo explorada em campanhas ativas no momento da divulgação pública, mas o vetor de ataque—anexo de email, usuário abre arquivo, fim do jogo—era o mecanismo de entrega dominante de APT do período. Atores de estado-nação estavam ativamente weaponizando vulnerabilidades de formato Office de 2009 a 2011 (veja: Operation Aurora, várias campanhas de espionagem). Um RCE confiável em uma versão ubíqua do Office absolutamente teria atraído esse interesse portas adentro.
Exposição internet-facing vs. interna: O risco não vem de exposição internet-facing—vem de email e downloads web. Cada funcionário com uma caixa de entrada era uma superfície de ataque em potencial.
Detecção & Hunting
Se você está operando em um ambiente onde Office 2002/2003 ainda existe (sim, isso acontece em contextos industriais legados ou governamentais), aqui está o que procurar.
Indicadores comportamentais em EDR/SIEM:
POWERPNT.EXEgerando processos filhos inesperados (cmd.exe,powershell.exe,wscript.exe)POWERPNT.EXEfazendo conexões de rede de saída (incomum sob uso normal)- Escritas de sistema de arquivos por
POWERPNT.EXEpara%TEMP%,%APPDATA%\Roaming, ou caminhos de inicialização - Crash dumps ou relatórios de erro Watson para
POWERPNT.EXEcom offsets de módulo faltante incomuns
Lógica de detecção conceitual do Sigma:
title: Suspicious PowerPoint Child Process (Padrão CVE-2010-2572)
status: experimental
description: Detecta PowerPoint gerando processos indicativos de exploração
logsource:
category: process_creation
product: windows
detection:
selection:
ParentImage|endswith: '\POWERPNT.EXE'
Image|endswith:
- '\cmd.exe'
- '\powershell.exe'
- '\wscript.exe'
- '\mshta.exe'
- '\rundll32.exe'
condition: selection
falsepositives:
- Improvável sob uso normal do PowerPoint; investigue todos os hits
level: high
tags:
- attack.execution
- attack.t1203
Hunting baseado em arquivo: Escaneie arquivos de email e compartilhamentos de arquivo para arquivos .ppt. Analise sua estrutura OLE e sinalize qualquer registro PP95 onde o comprimento declarado exceda um limiar razoável (ex: >64KB para tipos de registros que deveriam ser pequenos). Ferramentas como oletools podem ajudar a inspecionar OLE compound documents.
Playbook de Mitigação
1. Imediato — Aplicar MS10-088 Microsoft corrigiu isso no boletim Patch Tuesday de novembro de 2010. Se você está executando PowerPoint 2002 ou 2003 e não aplicou isso, pare de ler e vá patchear.
2. Se patchear não é imediatamente possível:
- Use o Microsoft Office File Validation (OFBV) add-in para Office 2003, que Microsoft disponibilizou especificamente para fornecer uma camada de proteção contra arquivos Office binários malformados antes que patches pudessem ser implantados.
- Configure gateways de email para remover ou colocar em quarentena anexos
.pptpendente implantação de patch. - Aplique as workarounds "kill bit" do Office 2003 via Group Policy para desabilitar análise de formato legado se compatibilidade com PP95 não for necessária.
- Restrinja PowerPoint de acessar recursos de rede via AppLocker ou Software Restriction Policies.
3. Endurecimento de longo prazo:
- Migre para fora do Office 2002/2003. O suporte estendido para Office 2003 terminou em abril de 2014. Se você ainda está nele, tem problemas muito maiores do que este CVE.
- Habilite Protected View (disponível desde Office 2010)—é especificamente projetado para sandbox de arquivos recebidos de fontes externas antes que eles façam parse completo.
- Implante regras Attack Surface Reduction (ASR) em ambientes Windows modernos para bloquear aplicações Office de gerar processos filhos.
- Implemente sandboxing de anexo de email para detonar arquivos suspeitos antes da entrega.
4. Verificação:
Execute systeminfo ou verifique hotfixes instalados para KB2289187 (o ID de patch para MS10-088 no Office 2003). Sua presença confirma que você está protegido contra esta vulnerabilidade específica.
Minha Análise
A classificação CVSS 7.8 parece mecanicamente certa, mas potencialmente subestima o risco operacional no contexto de 2010. A pontuação assume interação do usuário como fator mitigador, o que é justo—mas no ambiente de engenharia social daquela era, a interação do usuário era efetivamente garantida. Ataques direcionados rotineiramente alcançavam taxas de abertura próximas a 100% em spearphishing bem elaborados contra indivíduos específicos. "Requer interação do usuário" era quase proteção teórica.
O que torna esta vulnerabilidade mais interessante do que um buffer overflow de rotina é o que representa arquitetonicamente: a colisão inevitável entre obrigações de compatibilidade com versões anteriores e higiene de segurança. Microsoft não podia simplesmente descartar o suporte a PowerPoint 95 sem quebrar workflows legítimos em empresas que tinham arquivos de apresentação de décadas. Mas manter esse parser significava manter cada suposição assada nele em 1995. Essa é uma dívida que eventualmente vence.
Se sendo honesto, a comunidade de segurança deveria tratar este CVE como um caso de estudo em risco de formato legado—não apenas uma nota histórica. A mesma classe de vulnerabilidade continua aparecendo em parsers de documento para PDF, RTF, formatos antigos do Office, e formatos especializados da indústria (pense em: arquivos de configuração SCADA, formatos CAD, arquivos de imaging médico). O padrão de ataque é idêntico: tipo de arquivo confiável, parser de formato inesperado, validação faltante, execução de código. O formato específico muda; a causa raiz não.
A resposta da Microsoft foi apropriada—o patch foi abrangente, o boletim documentou claramente o escopo, e o timing (Patch Tuesday regular) foi aceitável dado nenhuma exploração confirmada in-the-wild no momento da divulgação. Mas a lição mais ampla—auditar seus parsers de formato legado proativamente em vez de esperar por CVEs—é uma que a indústria ainda está falhando em internalizar quinze anos depois.
Timeline
| Data | Evento |
|---|---|
| 2010 (est.) | Vulnerabilidade descoberta e reportada à Microsoft |
| 2010-11-09 | Microsoft lança MS10-088 corrigindo CVE-2010-2572 e falhas relacionadas |
| 2010-11-09 | Divulgação pública via Microsoft Security Bulletin |
| 2014-04-08 | Office 2003 atinge fim do suporte estendido (todos os sistemas não-patchados se tornam permanentemente vulneráveis) |
Referências
- CVE-2010-2572 — NVD Entry — Registro de vulnerabilidade oficial com pontuação CVSS e dados CPE
- MS10-088 — Microsoft Security Bulletin — Aviso do vendor cobrindo esta e vulnerabilidades relacionadas do PowerPoint
- CWE-120: Buffer Copy Without Checking Size of Input — Classificação de fraqueza explicando o padrão de causa raiz
- Microsoft Office File Validation Add-in — Ferramenta de mitigação intermediária que Microsoft forneceu para Office 2003
- oletools — Python tools for OLE/Office file analysis — Útil para hunting de arquivos Office binários malformados no seu ambiente