
Prova de conceito para CVE-2020-9715, um use-after-free no mecanismo EScript do Adobe Acrobat Reader DC. Gera um PDF que aciona o padrão de vulnerabilidade para validação de detecção por EDR. Nenhum payload armamentado incluído.
Use-after-free no cache ESObject do EScript.api do Adobe Acrobat Reader DC. Apenas para testes autorizados de EDR em red team.
Adobe Acrobat Reader DC <= 2020.009.20063. O mecanismo EScript armazena em cache ESObjects de dados com chaves que preservam a codificação original (ANSI ou Unicode). A exclusão sempre constrói chaves Unicode, portanto entradas com nomes ANSI nunca são purgadas do cache. Após o GC liberar o objeto subjacente, a entrada obsoleta do cache se torna um ponteiro pendente.
OpenAction acessa dataObjects para preencher o cache ESObjectArrayBuffer para recuperar a memória liberadaEste PoC aciona o padrão de vulnerabilidade, mas não inclui um payload armamentado (sem shellcode, sem cadeia ROP). Ele é projetado para validar se o seu EDR detecta a técnica de exploração.
python generate_poc.py # Generates CVE-2020-9715.pdf
python generate_poc.py -o custom.pdf # Custom output path
Sem dependências externas -- usa apenas a biblioteca padrão do Python.
Seu EDR deve se basear em um ou mais dos seguintes:
ArrayBuffer)dataObjects seguido por GC forçado e reacesso (padrão UAF)OpenAction + EmbeddedFiles + JavaScriptCorrigido em APSB20-48 (agosto de 2020).