
أداة كشف على مستوى الأصول لتحديد استخدام jsPDF المرتبط بـ CVE-2025-68428 كشف فقط — دون استغلال
🚨 كاشف jsPDF الشامل – CVE-2025-68428 🚨
أداة كشف على مستوى الأصول لتحديد استخدام jsPDF المرتبط بـ CVE-2025-68428. كشف فقط — دون أي استغلال.
🚨 خلفية
تم الإعلان عن ثغرة حرجة في مكتبة توليد ملفات PDF الشهيرة بلغة جافا سكريبت jsPDF، وتُعرف باسم CVE-2025-68428.
وفقًا لتقرير BleepingComputer، تتيح هذه الثغرة للمهاجمين قراءة ملفات محلية عشوائية عند استخدام jsPDF في بيئات Node.js ووصول المُدخلات التي يتحكم بها المستخدم إلى دوال تحميل الملفات.
تفاصيل الثغرة:
النوع: تضمين الملفات المحلية (LFI) + اجتياز المسار (Path Traversal)
الخطورة: 9.2 (حرجة)
الإصدارات المتأثرة: jsPDF < 4.0.0
النطاق: إصدارات Node.js فقط (jspdf.node.js)
نظرًا للانتشار الهائل لـ jsPDF (~3.5 مليون عملية تنزيل أسبوعيًا عبر npm)، فإن تحديد الأصول المتأثرة على نطاق واسع يُعد أمرًا بالغ الأهمية أثناء تقييمات الأمان.
🎯 الغرض من هذه الأداة
تساعد هذه الأداة باحثي الأمان، ومختبرِي الاختراق، وفرق أمان التطبيقات (AppSec) على:
تحديد استخدام jsPDF عبر أصول ويب متعددة
استخراج معلومات الإصدار عند ظهورها
دعم اكتشاف المكوّنات ورسم خريطة سطح الهجوم
تحديد أولويات التحقق اليدوي من CVE-2025-68428
⚠️ هذه الأداة لا تستغل الثغرة. مخصصة حصريًا لاختبارات الأمان المصرّح بها.
🧠 ما الذي تكشفه هذه الأداة
يتحقق السكربت من استخدام jsPDF عبر تقنيات متعددة:
فحص كود HTML المصدر
تحليل ملفات جافا سكريبت المرتبطة
مواقع package.json الشائعة المكشوفة
بصمة jsPDF القائمة على التعبيرات النمطية (Regex)
استخراج الإصدار بأفضل جهد ممكن
🛠️ كيف تعمل
تقرأ قائمة نطاقات من ملف
تجلب محتوى HTML
تستخرج ملفات جافا سكريبت المرتبطة
تبحث عن مؤشرات 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 المكوّن موجود الإصدار < 4.0.0 من المحتمل أن يكون متأثرًا الإصدار غير معروف يلزم تحقق يدوي لم يتم الكشف لم يتم العثور على jsPDF
⚠️ الكشف ≠ ثغرة فقط تطبيقات Node.js التي تتعامل مع مسارات ملفات غير آمنة هي القابلة للاستغلال.
🔍 الخطوات التالية بعد الكشف
إذا تم اكتشاف jsPDF:
تحقق مما إذا كان توليد PDF يتم على جانب الخادم
حدد نقاط النهاية مثل:
/generate-pdf
/export
/invoice
تتبّع وصول المُدخلات من المستخدم إلى:
loadFile
addImage
addFont
html()
تأكد من بيئة تشغيل Node.js وإصدار jsPDF
🔐 توصيات دفاعية
قم بالترقية إلى jsPDF v4.0.0+
لا تمرر أبدًا مسارات ملفات يتحكم بها المستخدم
استخدم قوائم السماح الصارمة
تجنب العلامات المتساهلة بشكل مفرط لنظام ملفات Node.js
⚖️ إخلاء مسؤولية قانوني وأخلاقي
هذه الأداة مخصصة للأغراض التعليمية واختبارات الأمان المصرّح بها فقط. المؤلف غير مسؤول عن سوء الاستخدام أو الأنشطة غير القانونية.
📚 المراجع
CVE-2025-68428
jsPDF Security Advisory
Endor Labs Technical Analysis
تقرير BleepingComputer حول ثغرة jsPDF
المؤلف Nurjaman Shaikh باحث في الأمن السيبراني | محلل VAPT