
Общесистемный инструмент обнаружения для выявления использования jsPDF, связанного с CVE-2025-68428. Только обнаружение — без эксплуатации.
🚨 jsPDF Bulk Detector – CVE-2025-68428 🚨
Инструмент для массового обнаружения активов, использующих jsPDF в контексте CVE-2025-68428. Только обнаружение — без эксплуатации.
🚨 Предыстория
В популярной библиотеке JavaScript для генерации PDF — jsPDF — была раскрыта критическая уязвимость, отслеживаемая как CVE-2025-68428.
Согласно сообщению BleepingComputer, эта уязвимость позволяет злоумышленникам читать произвольные локальные файлы, если jsPDF используется в среде Node.js и контролируемые пользователем данные попадают в функции загрузки файлов.
Подробности уязвимости:
Тип: Local File Inclusion (LFI) + Path Traversal
Серьёзность: 9.2 (Critical)
Затронутые версии: jsPDF < 4.0.0
Область: только сборки Node.js (jspdf.node.js)
Учитывая массовое внедрение jsPDF (~3,5 млн еженедельных загрузок npm), выявление затронутых активов в масштабе критически важно при оценке безопасности.
🎯 Назначение этого инструмента
Данный инструмент помогает исследователям безопасности, пентестерам и командам AppSec:
Выявлять использование jsPDF на множестве веб-ресурсов
Извлекать информацию о версиях, если она доступна
Поддерживать обнаружение компонентов и картографирование поверхности атаки
Приоритизировать ручную проверку на CVE-2025-68428
⚠️ Этот инструмент НЕ эксплуатирует уязвимость. Он предназначен строго для авторизованного тестирования безопасности.
🧠 Что обнаруживает этот инструмент
Скрипт проверяет использование jsPDF с помощью нескольких методов:
Просмотр исходного кода HTML
Анализ связанных JavaScript-файлов
Обычно раскрываемые расположения package.json
Поиск сигнатур jsPDF с помощью регулярных выражений
Определение версии по возможности
🛠️ Как это работает
Читает список доменов из файла
Загружает HTML-содержимое
Извлекает связанные JS-файлы
Ищет индикаторы jsPDF
Пытается определить версию
Выводит обнаруженные активы для ручной проверки
📦 Установка git clone https://github.com/Nurjaman2004/jsPDF-Bulk-Detector-CVE-2025-68428-.git cd jsPDF-Bulk-Detector-CVE-2025-68428- pip3 install requests
Требования
Python 3.x
requests
🚀 Использование 1️⃣ Подготовьте список целей
Создайте файл domains.txt:
example.com testsite.org https://demo.example.net
2️⃣ Запустите сканер python3 jspdf_bulk_detector.py domains.txt
[*] Scanning: https://example.com [+] https://example.com --> jsPDF detected (v3.5.2)
[*] Scanning: https://safe-site.com [✓] No jsPDF components detected across provided assets
🧪 Интерпретация результатов Результат Значение jsPDF detected Компонент присутствует Version < 4.0.0 Потенциально уязвим Version unknown Требуется ручная проверка No detection jsPDF не найден
⚠️ Обнаружение ≠ Уязвимость Эксплуатировать можно только реализации Node.js с небезопасной обработкой путей к файлам.
🔍 Следующие шаги после обнаружения
Если jsPDF обнаружен:
Проверьте, выполняется ли генерация PDF на стороне сервера
Определите конечные точки, такие как:
/generate-pdf
/export
/invoice
Проследите, как пользовательский ввод попадает в:
loadFile
addImage
addFont
html()
Подтвердите среду выполнения Node.js и версию jsPDF
🔐 Рекомендации по защите
Обновите jsPDF до версии 4.0.0+
Никогда не передавайте контролируемые пользователем пути к файлам
Используйте строгие белые списки
Избегайте чрезмерно разрешительных флагов файловой системы Node.js
⚖️ Правовое и этическое предупреждение
Этот инструмент предназначен только для образовательных целей и авторизованного тестирования безопасности. Автор не несёт ответственности за неправомерное использование или незаконные действия.
📚 Ссылки
CVE-2025-68428
Рекомендации по безопасности jsPDF
Технический анализ Endor Labs
Отчёт BleepingComputer об уязвимости jsPDF
Автор Нурджаман Шейх Исследователь кибербезопасности | Аналитик VAPT