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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
CVE-2020-8158 — هذا إثبات مفهوم يوضح CVE-2020-8158، وهي ثغرة حرجة من نوع تلوث النموذج الأولي في TypeORM في الإصدارات < 0.2.25. | Kitploit
أدوات/GitHubGitHub/open-flaw/cve-2020-8158
تحليل الثغرات الأمنيةتحليل الكودالاستغلالاستغلال تطبيقات الويبالأوراق والأبحاثالتعلم والتعليم
GitHubopen-flaw/cve-2020-8158

CVE-2020-8158

هذا إثبات مفهوم يوضح CVE-2020-8158، وهي ثغرة حرجة من نوع تلوث النموذج الأولي في TypeORM في الإصدارات < 0.2.25.

عرض المستودع
2منذ 9 أشهرلم تتم المراجعة بعد

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة

CVE-2020-8158: ثغرة تلوّث النموذج الأولي في TypeORM

نظرة عامة

هذا إثبات للمفهوم يوضح CVE-2020-8158، وهي ثغرة حرجة في تلوّث النموذج الأولي (Prototype Pollution) في إصدارات TypeORM الأقدم من 0.2.25.

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

  • معرّف CVE: CVE-2020-8158
  • درجة CVSS: 9.8 (حرجة)
  • الحزمة المتأثرة: TypeORM < 0.2.25
  • نوع الثغرة: تلوّث النموذج الأولي (CWE-1321)
  • تقرير HackerOne: https://hackerone.com/reports/869574

التأثير

يمكن للمهاجمين:

  1. إضافة أو تعديل خصائص النموذج الأولي للكائنات (Object prototype)
  2. التسبب في حجب الخدمة
  3. حقن حمولات SQL
  4. تجاوز المصادقة/التفويض
  5. تنفيذ تعليمات برمجية عشوائية

السبب الجذري

تكمُن الثغرة في طريقة تعامل TypeORM مع إلغاء تسلسل الكائنات (deserialization) عند معالجة نتائج استعلامات قاعدة البيانات. تقوم المكتبة بدمج البيانات التي يتحكم بها المستخدم في الكائنات بشكل غير سليم دون تنقية المفاتيح الملوِّثة للنموذج الأولي مثل __proto__ و و.

constructor
prototype

مسار الكود المتأثر

المشكلة تكمن في عملية ترطيب/إلغاء تسلسل الكيانات (entity hydration/deserialization) حيث يقوم TypeORM بتعيين الخصائص بشكل تكراري من نتائج الاستعلامات الخام إلى كائنات الكيانات دون تحقق مناسب.

الملفات في هذا الإثبات (PoC)

  • vulnerable-app.ts - تطبيق TypeORM الثغري (إصدار < 0.2.25)
  • exploit.ts - استغلال إثبات المفهوم
  • patched-app.ts - النسخة المصححة (إصدار >= 0.2.25)
  • package.json - التبعيات

تعليمات الإعداد

راجع SETUP.md للحصول على تعليمات الإعداد والاستغلال التفصيلية.

التخفيف

  • قم بترقية TypeORM إلى الإصدار 0.2.25 أو أحدث
  • تحقق من جميع مدخلات المستخدم ونقّها
  • استخدم مكتبات التحقق من المدخلات لمنع محاولات تلوّث النموذج الأولي
  • فكّر في استخدام Object.freeze() على الكائنات الحرجة

المراجع

  • الاستشارة الأمنية الرسمية من TypeORM
  • تلوّث النموذج الأولي من OWASP
  • CWE-1321: تعديل غير منضبط بشكل صحيح لخصائص النموذج الأولي للكائنات
تنزيل الأداة