← voltar
CVE-2009-3129highsob ataqueCWE-787

CVE-2009-3129

100Vexday Risk Score

Corrija agora. Ela está sob exploração confirmada pelo CISA, tem exploit funcional público e 1 grupo(s) de ameaça a utilizam.

ssvc Actcvss 7.8epss 86%
da publicação à arma283 dias
Publicada no NVD11 de nov.
1ª PoC+283d
metasploit10 de nov.
CISA KEV+4495d
probabilidade de exploração
86%top 1% das CVEs
exploração observada
simCISA + VulnCheck
1 grupo(s)3 exploit(s) público(s)
Quem explora1

Grupos conhecidos por explorar esta vulnerabilidade (atribuição MITRE ATT&CK).

Ação exigida pela CISAprazo federal: 2022-03-24

Apply updates per vendor instructions.

Resumo

Falha de corrupção de memória no parser de arquivos binários (BIFF) do Microsoft Excel, disparada por um registro FEATHEADER (tag 0x867) com o campo cbHdrData manipulado para um valor inválido, que é usado no cálculo de um deslocamento de ponteiro. Abrir uma planilha .xls maliciosa é suficiente para execução de código arbitrário no contexto do usuário logado. É item do catálogo KEV da CISA e tem exploit público e módulo Metasploit, mas a superfície real hoje é pequena: afeta apenas versões de Office já fora de suporte há mais de uma década.

Detalhamento técnico

A vulnerabilidade está no parser do formato binário legado do Excel (BIFF8), especificamente no tratamento do registro 'Shared Feature Header' (FEATHEADER, tag 0x867). Esse registro tem um campo de tamanho, cbHdrData, que descreve quantos bytes de dados adicionais seguem. O código de leitura usa esse valor para calcular o deslocamento (offset) de um ponteiro dentro do buffer que representa o registro.

Quando o cbHdrData é definido com um valor inconsistente com o tamanho real dos dados no arquivo, o cálculo do offset produz um ponteiro fora dos limites esperados. O atacante controla diretamente esse valor porque ele é lido do próprio arquivo, sem validação de faixa contra o tamanho real do buffer. O resultado é uma escrita ou leitura de memória fora dos limites (memória corrompida), que pode ser transformada em execução de código controlado pelo atacante através de um payload cuidadosamente construído no restante do arquivo.

A CISA classifica a entrada no KEV sob CWE-94 (Code Injection), mas a mecânica descrita pelo próprio fornecedor e pela ZDI (que reportou a falha sob ZDI-CAN-587) é de corrupção de memória por deslocamento de ponteiro inválido — mais alinhada a um problema clássico de leitura/escrita fora dos limites do que a injeção de código em sentido estrito.

A vulnerabilidade foi originalmente descoberta por Sean Larsson e reportada ao fornecedor via Zero Day Initiative (ZDI-09-083) em 20/10/2009, com divulgação coordenada em 10/11/2009, coincidindo com o lançamento do boletim MS09-067.

Como é explorada

O vetor é client-side: o atacante entrega um arquivo .xls malformado (tipicamente por e-mail ou download) e depende de interação do usuário para abri-lo no Excel vulnerável. Não há componente de rede a explorar remotamente sem essa abertura manual — por isso o vetor CVSS é AV:L (local), apesar de a entrega ser 'remota' no sentido de vir de um atacante externo. Não é necessária autenticação nem configuração fora do padrão; qualquer instalação afetada que abra o arquivo está exposta.

Existe exploit público (exploit-db 14706) que gera um arquivo .xls com o registro FEATHEADER malformado, embutindo shellcode para abrir cmd.exe via WinExec — prova de conceito funcional testada contra Excel 2003/2007 em Windows XP SP2. Há também módulo Metasploit disponível, o que reduz a complexidade de reprodução para quem já tem o arquivo malicioso e precisa apenas adaptar o payload.

A presença no catálogo KEV da CISA confirma exploração ativa histórica, mas a data de inclusão (2022-03-03) é muito posterior à divulgação original (2009), refletindo o padrão da CISA de catalogar vulnerabilidades antigas ainda usadas em campanhas oportunistas contra sistemas não corrigidos, não necessariamente exploração ativa contínua e generalizada hoje.

Versões

Afetadas
Microsoft Office Excel 2002 SP3; Office Excel 2003 SP3; Office Excel 2007 SP1 e SP2; Microsoft Office 2004 for Mac; Microsoft Office 2008 for Mac; Open XML File Format Converter for Mac; Microsoft Office Excel Viewer 2003 SP3; Microsoft Office Excel Viewer SP1 e SP2; Microsoft Office Compatibility Pack for Word, Excel, and PowerPoint 2007 File Formats SP1 e SP2.
Corrigidas em
Corrigido pelo boletim MS09-067 (KB972652), via os pacotes específicos por produto: KB973471 (Excel 2002 SP3), KB973475 (Excel 2003 SP3), KB973593 (Excel 2007 SP1/SP2 — requer também KB973704), KB976830 (Office 2004 for Mac), KB976828 (Office 2008 for Mac), KB976831 (Open XML File Format Converter for Mac), KB973484 (Excel Viewer 2003 SP3), KB973707 (Excel Viewer SP1/SP2) e KB973704 (Office Compatibility Pack SP1/SP2). Este boletim substitui o MS09-021 anterior.

Como se proteger

A correção oficial é o boletim MS09-067 (10/11/2009), que altera a forma como o Excel analisa registros malformados no formato binário. Os pacotes por produto: KB973471 (Excel 2002 SP3), KB973475 (Excel 2003 SP3), KB973593 (Excel 2007 SP1/SP2), KB976830 (Office 2004 for Mac), KB976828 (Office 2008 for Mac), KB976831 (Open XML File Format Converter for Mac), KB973484 (Excel Viewer 2003 SP3), KB973707 (Excel Viewer SP1/SP2) e KB973704 (Office Compatibility Pack para Word/Excel/PowerPoint 2007 SP1/SP2). Importante: para Excel 2007 SP1/SP2, o KB973593 por si só não protege completamente — o boletim exige também a instalação do KB973704 (atualização do Compatibility Pack) para cobrir os mesmos formatos de arquivo.

Como paliativo real na ausência de patch, o próprio boletim aponta que, após corrigido, o Excel passa a rejeitar/travar ao encontrar o registro malformado em vez de executar código — ou seja, não há flag de configuração que desative o parser vulnerável sem quebrar a leitura de arquivos .xls legítimos. Bloqueio de anexos .xls de origem não confiável em gateways de e-mail, ou forçar abertura em modo de visualização protegida (Protected View, disponível em versões mais recentes do Office) reduz a superfície, mas não elimina a falha em versões desatualizadas.

O que não funciona: como o vetor exige apenas abrir o arquivo localmente, controles de rede (firewall, segmentação) não mitigam o risco — a única defesa efetiva é a atualização do software ou a remoção/isolamento do componente vulnerável (versões de Office 2002/2003/2007 e Mac 2004/2008, hoje todas fora do ciclo de suporte, deveriam ser substituídas por versões atuais, não apenas patcheadas).

Como detectar

O indicador mais concreto é a presença, em um arquivo .xls (formato BIFF), de um registro FEATHEADER (tag 0x867) cujo campo cbHdrData não corresponde ao tamanho real dos dados que seguem no registro — isso pode ser verificado por ferramentas de parsing/análise estática de OLE/BIFF ou por regras de assinatura em antivírus/EDR que já reconhecem o padrão do exploit público (exploit-db 14706) e do módulo Metasploit correspondente.

Como o vetor é local (abertura de arquivo, sem tráfego de rede associado à exploração em si), não há sinal confiável de rede a monitorar; a detecção depende de inspeção de anexos/downloads em gateways de e-mail ou de telemetria de endpoint mostrando o Excel travando ou executando processos filhos inesperados (ex.: cmd.exe) imediatamente após abrir um documento .xls externo.

Pesquisado e redigido com IA a partir do advisory do fornecedor e de análises públicas, com as fontes acima. Confira sempre a versão corrigida no advisory oficial antes de agir.
Microsoft Office Excel 2002 SP3, 2003 SP3, and 2007 SP1 and SP2; Office 2004 and 2008 for Mac; Open XML File Format Converter for Mac; Office Excel Viewer 2003 SP3; Office Excel Viewer SP1 and SP2; and Office Compatibility Pack for Word, Excel, and PowerPoint 2007 File Formats SP1 and SP2 allows remote attackers to execute arbitrary code via a spreadsheet with a FEATHEADER record containing an invalid cbHdrData size element that affects a pointer offset, aka "Excel Featheader Record Memory Corruption Vulnerability."
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
Produtos afetados
n/a · n/a
⚠ Recursos públicos, para você avaliar a exposição de sistemas que controla ou está autorizado a testar. Teste apenas com autorização.