Mise à jour
Mettre à jour Adobe Acrobat et Reader vers les dernières versions. Cette vulnérabilité est corrigée dans l’avis APSB20-48.
La vulnérabilité se situe dans le module EScript.api, plus précisément dans la gestion du cache des data ESObject utilisés par le moteur JavaScript d’Adobe Reader.
Le cœur du problème réside dans la divergence de traitement des encodages de chaînes lors de l’insertion et de la suppression d’objets dans le cache.
data ESObject est créé, la clé du cache conserve l’encodage original (soit ANSI, soit Unicode) présent dans le document PDF.AV:L/AC:L/PR:N/UI:R/S:U/C:H/I:H/A:HL’exploitation de la CVE-2020-9715 nécessite un fichier PDF contenant un script JavaScript malveillant.
Data ESObject avec un nom encodé en ANSI, forçant Adobe Reader à stocker un pointeur dans le cache EScript.api.null (ex: this.dataObjects[0] = null), marquant l’objet pour libération.app.setTimeOut) pour attendre que le ramasse-miettes libère la mémoire de l’objet nullifié.toString()). Comme la purge du cache a échoué, le système trouve le pointeur obsolète et tente de l’utiliser.function triggerUAF() { // Accède au pointeur obsolète dans le cache d'objets this.dataObjects[0].toString();}
function poc() { // 1. Allouer Data ESObject this.dataObjects[0].toString(); // 2. Nullifier la référence this.dataObjects[0] = null; // 3. Déclencher l'UAF après le passage du GC app.setTimeOut("triggerUAF()", 1000);}poc();Lors de l’analyse d’un système suspecté d’être compromis via la CVE-2020-9715, les analystes doivent rechercher les traces suivantes.
Acrobat.exe ou AcroRd32.exe, tels que cmd.exe, powershell.exe, wscript.exe ou mshta.exe.0xCC)..pdf pour détecter l’utilisation des collections this.dataObjects combinée à des appels app.setTimeOut.Acrobat.exe et l’exécution concomitante de shells immédiatement après l’ouverture d’un PDF.Pour détecter l’activité post-exploitation, surveillez les processus enfants anormaux.
Logique :
C:\Program Files (x86)\Adobe\Acrobat DC\Acrobat\Acrobat.exe OU C:\Program Files (x86)\Adobe\Acrobat Reader DC\Reader\AcroRd32.execmd.exe, powershell.exe, sh.exe, certutil.exeindex=endpointparent_process IN ("Acrobat.exe", "AcroRd32.exe")process IN ("cmd.exe", "powershell.exe", "sh.exe", "whoami.exe")| table _time, host, user, pid, process, parent_process, command_lineMise à jour
Mettre à jour Adobe Acrobat et Reader vers les dernières versions. Cette vulnérabilité est corrigée dans l’avis APSB20-48.
Durcissement du sandbox
S’assurer que le “Mode Protégé” (Sandbox) est activé dans les paramètres d’Adobe Reader pour limiter l’impact d’une RCE.
Désactivation du JS
Désactiver JavaScript dans Adobe Reader pour les environnements à haut risque si cette fonctionnalité n’est pas critique.