ثغرة أمنية حرجة في مكتبة TypeScript: تهديد لملايين المشاريع

مدرب بايثون أونلاين للمبتدئين

تعلم Python بسهولة دون إرهاق نظري. حل مهام عملية مع التحقق التلقائي واكتب الكود مباشرة في المتصفح.

ابدأ الدورة

ثغرة أمنية حرجة في مكتبة TypeScript الشهيرة: ما يجب أن يعرفه المطورون



في 25 مارس 2025، سجل فريق الأمن ثغرة أمنية حرجة (CVE-2024-XXXXX) في واحدة من أشهر مكتبات نظام TypeScript البيئي — ts-utils-core. تُستخدم هذه المكتبة في أكثر من 50,000 مشروع على GitHub، بما في ذلك الحلول المؤسسية الكبيرة والشركات الناشئة. تسمح الثغرة للمهاجم بتنفيذ كود عشوائي عن بُعد على الخادم، مما يهدد سلامة البيانات وعمل التطبيقات.



تفاصيل الثغرة الأمنية

ترتبط المشكلة بمعالجة غير صحيحة لبيانات الإدخال في الدالة parseConfig، المسؤولة عن تحليل ملفات التكوين. بسبب عدم كفاية التحقق من الأنواع، يمكن للمهاجم تمرير كائن JSON مُعد خصيصًا يؤدي إلى تنفيذ كود JavaScript عشوائي في سياق التطبيق. الإصدارات المتأثرة من المكتبة هي من 4.0.0 إلى 4.7.3.



العواقب المحتملة

  • تنفيذ الكود عن بُعد (RCE) — يمكن للمهاجم السيطرة الكاملة على الخادم.
  • تسرب البيانات — الوصول إلى المعلومات السرية، ومفاتيح API، وقواعد البيانات.
  • اختراق المستخدمين — إذا تم استخدام المكتبة على جانب العميل، فمن الممكن تشغيل كود ضار في المتصفح.
  • رفض الخدمة (DoS) — قد يؤدي الإدخال غير الصحيح إلى تعطل التطبيق.


كيف تحمي مشروعك

أصدر مطورو المكتبة بالفعل تصحيحًا في الإصدار 4.7.4. إذا كنت تستخدم ts-utils-core، يُوصى بشدة بما يلي:

  • قم بتحديث التبعية فورًا إلى الإصدار 4.7.4 أو أحدث باستخدام الأمر: npm install ts-utils-core@latest.
  • تحقق من عدم استخدام إصدار ضعيف في التبعيات غير المباشرة (استخدم npm audit أو yarn audit).
  • قم بتعطيل الدالة parseConfig مؤقتًا في الكود إذا كان التحديث غير ممكن.
  • قم بتفعيل التحقق الصارم من الأنواع في TypeScript (strict: true في ملف tsconfig.json) لتقليل مخاطر حدوث أخطاء مماثلة في المستقبل.


توصيات أمنية

يذكرنا هذا الحادث بأهمية المراجعة الدورية للتبعيات. استخدم أدوات التحديث التلقائي مثل Dependabot أو Renovate، واشترك في إشعارات الأمان من GitHub. بالنسبة للمشاريع الحرجة، يُوصى بتطبيق سياسة الامتيازات الأقل وعزل تنفيذ الكود الخارجي في بيئات معزولة (sandboxes).



تابع التحديثات على PythonLib — سنستمر في إطلاعك على الأحداث الهامة في عالم البرمجة والأمان.

المكتبات الموصى بها