Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Hacking-pdf.js-vulnerability — CVE-2024-4367 | Kitploit
أدوات/GitHubGitHub/bhavyakcwestern/hacking-pdf.js-vulnerability
تحليل الثغرات الأمنيةتحليل الكودالاستغلالاستغلال تطبيقات الويبالأوراق والأبحاثالتعلم والتعليم
GitHubbhavyakcwestern/hacking-pdf.js-vulnerability

Hacking-pdf.js-vulnerability

CVE-2024-4367

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
عرض المستودع
منذ سنة واحدةلم تتم المراجعة بعد

🚨 CVE-2024-4367: تنفيذ جافا سكريبت عشوائي في PDF.js

هذا المشروع يوضح ويحلل CVE-2024-4367، وهي ثغرة عالية الخطورة في مكتبة PDF.js الخاصة بـ Mozilla تسمح بتنفيذ جافا سكريبت عشوائي من خلال فحص نوع غير صحيح في كود معالجة الخطوط. يظهر بحثنا كيف يمكن لملف PDF تم إنشاؤه بشكل ضار تنفيذ جافا سكريبت في سياقات مثل تطبيقات Electron، مما قد يتصاعد إلى تنفيذ كود عن بعد.

🔗 مستودع GitHub: Hacking-pdf.js-vulnerability


📖 نظرة عامة على المشروع

  • CVE ID: CVE-2024-4367
  • Severity: عالية (درجة CVSS v3.1: 8.8)
  • البرامج المتأثرة
    • PDF.js < 4.2.67
    • Mozilla Firefox < 126
    • Firefox ESR < 115.11
    • Thunderbird < 115.11
  • الاستغلال: تنفيذ جافا سكريبت عشوائي عبر fontMatrix غير منقى في الخطوط المضمنة.
  • إثبات المفهوم (PoC): ملفات PDF ex1.pdf و ex-gist.pdf تظهر تنبيهات أو تنفيذ سكريبت عن بعد.

📂 محتويات المستودع

  • src/components/ReactPdfViewer.tsx – عارض React مبني باستخدام react-pdf 5.7.2 (يحتوي على pdfjs-dist 2.16.105 الضعيفة)
  • ex1.pdf – ملف PDF ضار يقوم بتشغيل تنبيه
  • ex-gist.pdf – ملف PDF ضار يقوم بجلب وتنفيذ جافا سكريبت عن بعد
  • CVE-2024-4367_Report_Hacking_Project.pdf – تقرير فني كامل وتحليل الاستغلال

⚠️ تفاصيل الثغرة

عناصر مصفوفة fontMatrix في PDF.js لم يتم التحقق منها بشكل صحيح — حيث كانت تقبل سلاسل نصية يتم حقنها مباشرة في جافا سكريبت تُجمّع باستخدام new Function(...). وهذا يسمح للمهاجمين بصنع بيانات خط ضارة، مما يسبب تنفيذ كود عشوائي عندما يُسمح بعمليات شبيهة بـ eval.

مثال على مسار الكود الضعيف:

root@kitploit:~
fontMatrix = ["alert('XSS')", 0, 0, 1, 0, 0]; // Injected payload
// Results in compiled function like:
function drawGlyph() {
  transform("alert('XSS')", 0, 0, 1, 0, 0); // Unsafe execution
}

🛡️ استراتيجيات التخفيف لـ CVE-2024-4367

لتخفيف هذه الثغرة وحماية التطبيقات التي تضمّن PDF.js (أو المكتبات التي تحزمها)، اعتماد التدابير التالية:

✅ ترقية التبعيات

  • قم بترقية PDF.js إلى الإصدار 4.2.67 (أو أحدث) الذي يصحح عيب التحقق من النوع.
  • إذا كنت تستخدم أغلفة (مثل react-pdf)، تأكد من أنها تحتوي على pdfjs-dist ≥ 4.2.67.

✅ تعطيل التجميع الديناميكي

  • عيّن isEvalSupported = false في PDF.js لإيقاف تجميع Function الديناميكي.

✅ فرض التحقق من النوع

  • أضف فحوصات typeof صريحة على جميع القيم المقدمة من المستخدم (مثل مصفوفة fontMatrix).

✅ تنقية الإدخال

  • رفض أو تنقية أي إدخال غير رقمي حيث تكون الأرقام متوقعة.

✅ استخدام أدوات مراقبة التبعيات

  • قم بدمج Snyk (أو ما شابه) في CI/CD لفحص التبعيات تلقائيًا.
  • حافظ على تحديث package.json/yarn.lock وقم بتطبيق التصحيحات الأمنية تلقائيًا.

✅ حافظ على تحديث المتصفحات وبيئات التشغيل

  • شغّل الإصدارات المصححة:
    • Firefox ≥ 126
    • Firefox ESR ≥ 115.11
    • Thunderbird ≥ 115.11
  • قم بتحديث بيئات Electron بحيث تحتوي على بناء PDF.js آمن.

✅ تطبيق رؤوس الأمان

أضف سياسة أمان محتوى صارمة:

root@kitploit:~
Content-Security-Policy: script-src 'self'; object-src 'none';
تنزيل الأداة