CVE-2009-4324
Corrija agora. Ela está sob exploração confirmada pelo CISA, tem exploit funcional público e 1 grupo(s) de ameaça a utilizam.
Grupos conhecidos por explorar esta vulnerabilidade (atribuição MITRE ATT&CK).
Apply updates per vendor instructions.
Resumo
Use-after-free na função JavaScript Doc.media.newPlayer, exposta pela API de multimídia do Adobe Reader e Acrobat 8.x e 9.x para Windows e Mac OS X. A falha foi explorada como 0-day em campanhas de espionagem via PDF malicioso já em novembro/dezembro de 2009, antes de existir patch — por isso está no catálogo KEV da CISA. Importa porque exigia apenas abrir um PDF com JavaScript habilitado (configuração padrão), sem qualquer autenticação ou interação além do clique inicial.
Detalhamento técnico
A vulnerabilidade (CWE-416, use-after-free) está no método newPlayer() do objeto Doc.media, parte da API de multimídia (Multimedia.api) exposta ao mecanismo JavaScript do Reader/Acrobat. Quando o script PDF manipula o ciclo de vida do objeto de mídia — criando, liberando e voltando a referenciar o mesmo objeto —, o interpretador mantém um ponteiro para memória já desalocada. Uma chamada subsequente que usa esse ponteiro corrompe a heap e pode ser sequestrada para redirecionar execução para código controlado pelo atacante.
Os PDFs usados nos ataques reais empregavam streams comprimidos em ZLib para embutir e obfuscar o JavaScript malicioso e a estrutura de objetos que dispara a condição de uso-após-liberação. Isso não altera o mecanismo da falha, mas dificultava a detecção por assinatura estática — a primeira submissão ao VirusTotal identificada pela comunidade (contagiodump) foi detectada por apenas 4 de 41 motores de antivírus.
O atacante controla o conteúdo do PDF: a sequência de chamadas JavaScript ao objeto de mídia, o layout dos streams comprimidos e, por consequência, o timing da liberação de memória e o conteúdo que ocupa a região realocada — pré-requisitos típicos de exploração confiável de use-after-free em heaps não randomizadas ou pouco protegidas na época.
Como é explorada
Vetor de entrega: PDF malicioso anexado a e-mail (phishing/spear-phishing) ou hospedado em página web que o navegador abre automaticamente via plugin do Reader. As amostras documentadas pela contagiodump mostram lures típicos de espionagem direcionada — 'country briefing notes', listas de equipe diplomática, convites de fim de ano — indicando uso por atores com foco em alvos governamentais/diplomáticos, não spam massivo.
Pré-requisitos reais: nenhuma autenticação; JavaScript habilitado no Reader/Acrobat, que é o padrão de fábrica; e ação do usuário para abrir o arquivo (UI:R). Não há necessidade de configuração não padrão — a maior parte das instalações da época estava exposta. A exploração já circulava in the wild desde novembro de 2009 (amostra mais antiga registrada em 30/11/2009), antes de qualquer aviso oficial da Adobe, o que a caracteriza como 0-day genuíno; por isso consta no catálogo KEV da CISA.
Resultado da exploração bem-sucedida: execução arbitrária de código com os privilégios do usuário que abriu o PDF — tipicamente usado para instalar malware (famílias identificadas na época como Trojan.Pidief e variantes de Exploit.JS.Pdfka). Existe módulo público no Metasploit e PoC disponível, o que reduz a barreira de reprodução hoje, embora o alvo (Reader/Acrobat 8.x/9.x antigos em Windows/Mac) seja essencialmente obsoleto.
Versões
Como se proteger
A correção definitiva é atualizar para Adobe Reader/Acrobat 9.3 ou 8.2, publicados no boletim APSB10-02 (12 de janeiro de 2010). Qualquer instalação hoje ainda nessas faixas de versão está tecnicamente vulnerável e sem suporte — a recomendação prática é migrar para uma versão atual e suportada do software de leitura de PDF, fora do escopo desta CVE específica.
Se a atualização não for imediata (cenário raro em 2024+, mas relevante para sistemas legados/air-gapped), os paliativos documentados pelo CERT/CC foram: desabilitar JavaScript no Reader/Acrobat (Edit > Preferences > JavaScript), o que bloqueia esta e outras falhas baseadas em JS ao custo de quebrar formulários e recursos interativos em PDFs legítimos; desabilitar a exibição de PDF dentro do navegador, reduzindo a superfície de ataque via drive-by; e bloquear especificamente o método newPlayer() usando o JavaScript Blacklist Framework da Adobe (chaves de registro no Windows, plist em Mac/Linux), que neutraliza esta CVE pontualmente sem desativar JavaScript por completo.
Habilitar DEP no Windows foi citado como mitigação complementar, mas o próprio CERT/CC é explícito: DEP não é uma solução completa, apenas eleva o custo de exploração em alguns casos — não deve ser tratado como substituto do patch ou dos controles acima.
Como detectar
Nos ataques reais de dezembro de 2009, os indicadores eram PDFs contendo JavaScript que invoca o método Doc.media.newPlayer combinado com streams comprimidos em ZLib usados para ofuscar o objeto malicioso; hashes de amostras específicas foram publicados pela contagiodump (ex.: MD5 61baabd6fc12e01ff73ceacc07c84f9a) e detecções de antivírus da época incluíam assinaturas como Exploit.JS.Pdfka.atq (Kaspersky), Trojan.Pidief.H (Symantec) e PDF/Exploit.Gen (ESET NOD32). Lures de e-mail se disfarçavam de encaminhamentos de documentos ou mensagens de fim de ano com o PDF em anexo.
Não há sinal de rede genérico e confiável para esta falha isoladamente — a detecção depende de inspecionar o conteúdo do PDF (presença da chamada newPlayer em JS associada a streams comprimidos suspeitos) ou de assinaturas de antivírus/IDS específicas da campanha, que na época tinham taxa de detecção inicial baixa (4 de 41 motores no primeiro escaneamento no VirusTotal).