← volver
CVE-2020-9715highbajo ataqueCWE-416

CVE-2020-9715

83Vexday Risk Score

Prioriza la corrección. Ella está bajo explotación confirmada por CISA y tiene prueba de concepto pública.

ssvc Actcvss 7.8epss 48%
de la publicación al arma509 días
Publicada en NVD19 ago
1ª PoC+509d
CISA KEV+2063d
probabilidad de explotación
48%top 1% de las CVE
explotación observada
CISA + VulnCheck
4 exploit(s) público(s)
Acción exigida por CISAplazo federal: 2026-04-27

Apply mitigations per vendor instructions, follow applicable BOD 22-01 guidance for cloud services, or discontinue use of the product if mitigations are unavailable.

Resumen

Use-after-free no módulo EScript.api do Adobe Acrobat e Reader, no cache de objetos ESObject usados para representar arquivos embutidos (data objects) em PDFs com JavaScript. A exploração exige que a vítima abra um PDF malicioso, mas quando isso ocorre o atacante ganha execução de código arbitrário no contexto do processo do Acrobat/Reader — daí estar no catálogo KEV da CISA com exploração confirmada.

Detalle técnico

A falha (CWE-416) está no mecanismo de cache do EScript.api, o módulo que embute um interpretador JavaScript baseado no SpiderMonkey da Mozilla dentro do Acrobat/Reader para processar JavaScript incorporado em PDFs. Objetos internos chamados data ESObject representam arquivos embutidos e streams de dados, e são indexados num cache (implementado como uma árvore binária de busca) por uma cache_key composta por um ponteiro para o PDDoc e o nome do arquivo embutido, armazenado como string ANSI ou Unicode conforme o PDF original.

O bug está na inconsistência de codificação entre inserção e remoção: quando um data ESObject é criado, a cache_key mantém a codificação original do nome (ANSI ou Unicode). Quando um data ESObject é removido/liberado, a cache_key usada na remoção é sempre gerada com o nome em Unicode. Resultado: entradas de cache cujo nome era ANSI nunca são efetivamente purgadas — o ponteiro para o objeto liberado permanece na árvore indefinidamente.

Se o atacante controla o JavaScript embutido no PDF e faz algo equivalente a apagar e reacessar um objeto (por exemplo `this.dataObjects[0]` deletado e depois acessado), uma busca subsequente por um nome ANSI produz um cache hit contra a entrada obsoleta, retornando um ponteiro para um data ESObject já liberado. O código então opera sobre esse objeto, gerando um use-after-free clássico. O atacante controla o nome do objeto embutido, a sequência de criação/exclusão via JavaScript do PDF, e — em cenários de exploração mais avançados — pode manipular o heap para realocar dados controlados no espaço de memória liberado, viabilizando execução de código.

Cómo se explota

O vetor é um arquivo PDF malicioso contendo JavaScript incorporado que manipula o ciclo de vida de data ESObjects (via API `dataObjects` do Acrobat JavaScript) para forçar a condição de use-after-free. A CVSS marca AV:L porque a exploração se dá localmente no processo que abre o arquivo — não há exploração remota direta via rede, mas o arquivo pode chegar por e-mail, download ou visualização em navegador via plugin do Acrobat. UI:R é obrigatório: a vítima precisa abrir o documento (ou visitar a página que o carrega).

Não há necessidade de autenticação nem de configuração não padrão no Acrobat/Reader — o JavaScript embutido em PDF é processado por padrão nas versões afetadas. A complexidade de exploração vai além de simplesmente disparar o UAF: para chegar a execução de código confiável é necessário controlar o heap para colocar dados atacante-controlados no lugar do objeto liberado, o que pesquisadores (Exodus Intelligence, reproduzindo a cadeia documentada pela ZDI) descreveram em detalhe técnico, sem publicar exploit funcional completo.

O CVE está no catálogo KEV da CISA, confirmando exploração ativa observada, e existe PoC pública. O resultado final documentado é execução de código arbitrário no contexto do processo do Acrobat/Reader — não escalonamento de privilégio de sistema por si só, mas suficiente como estágio inicial de comprometimento de endpoint.

Versiones

Afectadas
Adobe Acrobat and Reader 2020.009.20074 e anteriores; 2020.001.30002; 2017.011.30171 e anteriores; 2015.006.30523 e anteriores.
Corregidas en
Corrigido no boletim Adobe APSB20-48 (agosto de 2020), com atualizações para as linhas 2020.x (Continuous), 2017.x e 2015.x (Classic). Os números de build exatos das versões corrigidas não constam no material consultado — confirme a versão mínima aplicável à sua linha diretamente no boletim oficial da Adobe.

Cómo protegerse

A Adobe corrigiu a falha através do boletim APSB20-48 (agosto de 2020), cobrindo as linhas Continuous (2020.x), Classic 2017 e Classic 2015. Atualizar para a versão corrigida correspondente à sua linha de suporte é a mitigação real; não temos, nas fontes consultadas, os números de build exatos citados no boletim, então a recomendação é verificar diretamente o APSB20-48 e aplicar a versão mínima indicada para sua linha antes de considerar o ambiente corrigido.

Se a atualização imediata não for viável, o paliativo prático é desabilitar a execução de JavaScript no Acrobat/Reader (em Editar > Preferências > JavaScript, desmarcando 'Enable Acrobat JavaScript'), já que o vetor depende inteiramente de JavaScript embutido em PDF. Isso reduz funcionalidade de formulários e PDFs interativos que dependem de scripts, então tem custo funcional real em ambientes que usam esses recursos.

Abrir PDFs apenas em visualizadores sem motor JavaScript embutido, ou em sandbox/isolamento, reduz a superfície, mas não é substituto para o patch. Filtro de e-mail/gateway que bloqueia anexos PDF de remetentes não confiáveis ajuda a reduzir a entrega do vetor, mas não elimina o risco se o usuário obtiver o arquivo por outro canal.

Cómo detectar

Não há assinatura de rede confiável, já que a exploração ocorre localmente dentro do processo do Acrobat/Reader ao processar um PDF. Sinais indiretos incluem: PDFs recebidos por e-mail ou download contendo JavaScript que manipula o array `this.dataObjects` (criação seguida de exclusão e novo acesso ao mesmo índice/nome), crashes do processo Acrobat.exe/AcroRd32.exe com falha atribuída ao módulo EScript.api, e alertas de EDR para corrupção de heap ou exceções de acesso inválido nesse mesmo módulo. Sandboxes de análise de PDF que registram chamadas à API JavaScript do Acrobat podem capturar o padrão de criação/exclusão anômala de data objects como indicador.

Investigado y redactado con IA a partir del advisory del fabricante y análisis públicos, con las fuentes citadas. Verifica siempre la versión corregida en el advisory oficial antes de actuar.
Adobe Acrobat and Reader versions 2020.009.20074 and earlier, 2020.001.30002, 2017.011.30171 and earlier, and 2015.006.30523 and earlier have an use-after-free vulnerability. Successful exploitation could lead to arbitrary code execution .
CVSS:3.1/AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:H
⚠ Recursos públicos, para evaluar la exposición de sistemas que controlas o estás autorizado a probar. Prueba solo con autorización.