
Preuve de concept pour CVE-2020-9715, une utilisation après libération (use-after-free) dans le moteur EScript d'Adobe Acrobat Reader DC. Génère un PDF qui déclenche le schéma de vulnérabilité pour la validation de détection par EDR. Aucune charge utile armée incluse.
Use-after-free dans le cache ESObject de EScript.api d'Adobe Acrobat Reader DC. Pour tests EDR d'équipe rouge autorisés uniquement.
Adobe Acrobat Reader DC <= 2020.009.20063. Le moteur EScript met en cache des ESObjects de données avec des clés qui préservent l'encodage d'origine (ANSI ou Unicode). La suppression construit toujours des clés Unicode, donc les entrées nommées en ANSI ne sont jamais purgées du cache. Après que le GC libère l'objet sous-jacent, l'entrée de cache obsolète devient un pointeur pendant.
OpenAction accède à dataObjects pour remplir le cache ESObjectArrayBuffer pour récupérer la mémoire libéréeCe PoC déclenche le motif de vulnérabilité mais n'inclut pas de payload armé (pas de shellcode, pas de chaîne ROP). Il est conçu pour valider si votre EDR détecte la technique d'exploitation.
python generate_poc.py # Generates CVE-2020-9715.pdf
python generate_poc.py -o custom.pdf # Custom output path
Aucune dépendance externe – utilise uniquement la bibliothèque standard Python.
Votre EDR devrait se baser sur un ou plusieurs des éléments suivants :
ArrayBuffer)dataObjects suivi d'un GC forcé et d'un ré-accès (motif UAF)OpenAction + EmbeddedFiles + JavaScriptCorrigé dans APSB20-48 (août 2020).