PoC de recherche démontrant une chaîne de pollution de prototype et d'injection JavaScript dans Adobe Acrobat Reader, permettant l'exécution de JavaScript privilégié et l'exfiltration de fichiers. Comprend un générateur PDF, une charge utile et un serveur C2 pour l'analyse.
Ce dépôt contient du matériel de recherche et un code de preuve de concept développé lors de l'analyse de la chaîne d'exploitation in-the-wild d'Adobe Acrobat Reader 2026 impliquant :
La recherche se concentre sur la compréhension de la chaîne de vulnérabilité utilisée par les documents PDF malveillants et le rétro-ingénierie des correctifs introduits par Adobe à travers plusieurs mises à jour.
Ce travail a été créé pour :
CVE-2026-34621CVE-2026-34622CVE-2026-34626Les composants affectés incluent :
ANFancyAlertImpl()SilentDocCenterLogin()ANShareFile()La chaîne d'exploitation combine plusieurs primitives :
Construction de gestionnaire dynamique non sécurisée dans :
ANFancyAlertImpl()
utilisant :
eval(...)
a permis aux identifiants de boutons contrôlés par l'attaquant d'injecter du JavaScript arbitraire dans le flux d'exécution interne d'Acrobat.
Une résolution de variable globale vulnérable impliquant :
swConn
a permis aux attaquants d'abuser de :
Object.prototype.__defineGetter__()
pour rediriger la logique de collaboration de confiance d'Acrobat vers des objets contrôlés par l'attaquant.
Les workflows de confiance supposaient que :
doc.path
était toujours une chaîne primitive.
En fournissant des objets conçus implémentant :
substringlastIndexOfl'exploit a redirigé les chemins d'exécution privilégiés vers des callbacks contrôlés par l'attaquant.
La PoC incluse démontre que la chaîne d'exploitation peut être abusée pour exécuter du JavaScript privilégié dans Adobe Acrobat Reader et effectuer des opérations sensibles normalement restreintes par le bac à sable.
En utilisant la primitive d'enregistrement de fonction de confiance, la PoC est capable de :
Lors des tests, la charge utile a été utilisée pour lire des fichiers système locaux de la machine victime et transmettre leur contenu au serveur de collecte implémenté dans :
c2.py
Ce comportement confirme que la chaîne d'exploitation franchit avec succès les frontières de confiance prévues d'Acrobat et atteint des contextes d'exécution privilégiés.
payload_steal.jsCharge utile de recherche utilisée lors de la reconstruction de l'exploit et de l'analyse comportementale.
Contient :
CVE-2026-34621.pyGénérateur minimal de PDF intégrant du JavaScript externe dans un document PDF.
Utilisé lors :
Fonctionnalités :
Utilisation :
python3 CVE-2026-34621.py -j payload_steal.js -o exploit.pdf
c2.pyServeur de collecte HTTP simple utilisé lors des tests pour observer les requêtes sortantes et le comportement de la charge utile.
Utilisé pour :
Utilisation :
python3 c2.py
Port par défaut :
45191
Le dépôt documente également l'évolution des correctifs d'Adobe à travers :
26.001.2136726.001.2141126.001.21431Les principales découvertes incluent :
swConn en variable locale,eval(),Ce dépôt est destiné à :
N'utilisez pas ce matériel contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas explicitement l'autorisation de tester.
Article technique complet :
Des recherches publiques supplémentaires et une analyse de la chronologie des correctifs de la part de :
ont aidé à fournir un contexte précieux autour de la chaîne de vulnérabilité et de la stratégie de correction d'Adobe.
Ce dépôt est fourni strictement à des fins éducatives et de recherche.
L'auteur n'est pas responsable des mauvaises utilisations, des tests non autorisés ou des activités illégales effectuées avec ce matériel.