CVE-2008-2992
Corrija agora. Ela está sob exploração confirmada pelo CISA e tem exploit funcional público.
Apply updates per vendor instructions.
Resumo
Buffer overflow baseado em pilha no Adobe Reader e Acrobat, disparado pela função JavaScript util.printf() quando processa uma PDF com string de formato manipulada. Basta o usuário abrir um PDF malicioso — não há autenticação nem configuração especial — para permitir execução de código arbitrário com os privilégios do usuário logado. Está no catálogo KEV da CISA com exploração confirmada em campo, PoC pública e módulo Metasploit, então o risco é real e não apenas teórico.
Detalhamento técnico
A falha (CWE-121, stack-based buffer overflow) está na implementação nativa da função util.printf(), parte do conjunto de funções JavaScript proprietárias que a Adobe expõe dentro do motor de scripts embutido em PDFs. Segundo a especificação do Acrobat Forms JavaScript Object, util.printf() formata valores como string de acordo com uma string de formato, de forma análoga à função printf() da linguagem C.
O parser dessa função falha em validar adequadamente o argumento de formato fornecido pelo script embutido no PDF. Um atacante controla integralmente esse argumento — incluindo especificadores de formato malformados ou excessivos — e consegue sobrescrever memória na pilha além dos limites do buffer alocado, corrompendo o fluxo de controle do processo.
A vulnerabilidade é descrita pela Adobe/MITRE como relacionada à CVE-2008-1104, uma falha anterior na mesma família de funções util.* — indício de que o problema de fundo (validação insuficiente de parâmetros nas funções JavaScript nativas do Acrobat) não foi completamente sanado na correção anterior.
Como o JavaScript é interpretado no momento em que o documento é renderizado, nenhuma ação além de abrir o arquivo é necessária para que o código do PDF chegue à função vulnerável.
Como é explorada
O vetor é um arquivo PDF especialmente criado contendo um bloco de JavaScript que invoca util.printf() com uma string de formato malformada. A exploração exige apenas que a vítima abra o arquivo — como anexo de e-mail, download, ou PDF renderizado automaticamente dentro do navegador via plugin — e que o JavaScript do Acrobat/Reader esteja habilitado (comportamento padrão na época). Não há necessidade de autenticação nem de acesso de rede privilegiado; o atacante é remoto e não autenticado do ponto de vista da entrega do arquivo, embora a exploração em si ocorra localmente na máquina da vítima, o que explica o AV:L do vetor CVSS.
A falha resulta em corrupção de pilha explorável para redirecionamento de fluxo de execução, permitindo execução de código arbitrário com as permissões do usuário que abriu o documento — tipicamente suficiente para instalação de malware, backdoors ou pivotamento inicial em campanhas de phishing direcionado.
Houve ampla exploração documentada em 2008-2009: código de exploração público circulou (referenciado como exploit no milw0rm), a vulnerabilidade foi incorporada a kits de exploração e é um dos casos clássicos de weaponização de PDF malicioso da era pré-sandbox do Reader. A presença no catálogo KEV da CISA confirma exploração ativa observada, e a existência de módulo Metasploit facilita replicação em testes de intrusão — mas não deve ser usada contra sistemas de produção sem autorização.
Versões
Como se proteger
A correção definitiva é atualizar para Adobe Reader/Acrobat 8.1.3 ou posterior, conforme o boletim de segurança APSB08-19 da Adobe. Como esta é uma falha antiga (2008) em produtos com décadas de ciclos de atualização desde então, qualquer instalação moderna já deve estar corrigida; a relevância prática hoje está em ambientes legados, sistemas industriais ou embarcados que ainda rodam versões antigas do Acrobat/Reader sem atualização.
Se a atualização não for imediatamente viável, os paliativos reais documentados pelo CERT/CC são: desabilitar JavaScript no Acrobat/Reader (Edit > Preferences > JavaScript > desmarcar 'Enable Acrobat JavaScript'), o que neutraliza esta classe de vulnerabilidade e várias outras baseadas em util.*; impedir que PDFs sejam abertos automaticamente dentro do navegador (removendo a associação de plugin ou ajustando o registro do Internet Explorer para 'prompt' em vez de abertura automática); e não abrir PDFs de origem não confiável, convertendo-os para texto quando possível como alternativa de visualização segura.
Não funciona como mitigação: confiar apenas em antivírus de borda para detectar o PDF malicioso, já que a string de formato manipulada não segue um padrão de assinatura estável e pode ser trivialmente reempacotada. Filtro de anexos por extensão .pdf também não resolve, pois a carga maliciosa está no JavaScript interno do documento, não no formato do arquivo em si.
Como detectar
Segundo o próprio Oracle Sun Alert que replica a orientação da Adobe: 'não há sintomas previsíveis que indiquem que essas questões foram exploradas para executar código arbitrário' — ou seja, não há um sinal de log confiável e nativo do Acrobat/Reader para detecção pós-fato. Em ambientes com EDR ou sandboxing de documentos, o indicador prático é comportamento anômalo do processo AcroRd32.exe/Acrobat.exe após abertura de PDF (spawn de processos filhos inesperados, conexões de rede saindo do processo do leitor, escrita em diretórios de sistema), já que a exploração se manifesta como corrupção de memória seguida de execução de payload, não como uma assinatura de rede ou string de log específica.