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

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

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

ابدأ الدورة

ثغرة أمنية حرجة في مكتبة JavaScript (Node.js) الشهيرة: تهديد تنفيذ التعليمات البرمجية عن بُعد



أثارت أخبار اكتشاف ثغرة أمنية حرجة تؤثر على إحدى أكثر المكتبات استخدامًا في النظام البيئي ضجة في مجتمع مطوري Node.js. المشكلة، التي حصلت على المعرف CVE-2024-XXXX (الرقم قيد التحديد)، تسمح للمهاجم بتنفيذ تعليمات برمجية عشوائية عن بُعد (RCE) على الخادم الذي يعمل بنظام Node.js. وفقًا لخبراء الأمن السيبراني، تؤثر الثغرة على ملايين المشاريع حول العالم.



جوهر المشكلة



تم اكتشاف الثغرة في مكتبة «fast-xml-parser» (الإصدارات الأقدم من 4.3.4)، والتي تُستخدم لتحليل مستندات XML وHTML. المكتبة ضمن أفضل 1000 حزمة الأكثر شيوعًا في مدير الحزم npm، ويبلغ عدد تنزيلاتها أكثر من 15 مليونًا أسبوعيًا. تكمن المشكلة في المعالجة غير الصحيحة للكيانات الخارجية لـ XML (XXE — XML External Entity).



عند معالجة مستند XML مُعد خصيصًا، لا تتحقق المكتبة من الموارد الخارجية المتصلة، مما يسمح للمهاجم بـ:



  • قراءة ملفات عشوائية على الخادم (مثل كلمات المرور، مفاتيح الوصول، الإعدادات)؛
  • تنفيذ أوامر عشوائية عبر SSRF (Server-Side Request Forgery)؛
  • التسبب في رفض الخدمة (DoS) عبر روابط تكرارية لا نهائية.


يشكل حقيقة أن استغلال الثغرة لا يتطلب مصادقة خطرًا خاصًا — يكفي أن يقوم الخادم بمعالجة مستند XML ضار تم إرساله عبر طلب HTTP، أو تحميل ملف، أو WebSocket.



ما هي الإصدارات المعرضة للخطر؟



أكد باحثو الأمن أن جميع إصدارات مكتبة fast-xml-parser الأقل من 4.3.4 معرضة للخطر. كما أن المشاريع التي تستخدم إصدارات قديمة من الحزم التي تعتمد على هذه المكتبة بشكل غير مباشر (عبر تبعيات أخرى) معرضة للخطر أيضًا.



الوضع خطير بشكل خاص على:

  • خوادم الويب التي تعالج طلبات XML-RPC؛
  • أنظمة التكامل مع خدمات SOAP؛
  • التطبيقات التي تستخدم OpenAPI/Swagger مع مخططات XML؛
  • الخدمات التي تعمل مع ملفات الإعدادات بتنسيق XML.


توصيات الحماية



أصدر مطورو المكتبة بالفعل تصحيحًا في الإصدار 4.3.4. نوصي بشدة جميع مستخدمي Node.js بتنفيذ الإجراءات التالية فورًا:



  • تحديث المكتبة — قم بتنفيذ الأمر npm update fast-xml-parser أو قم بتغيير الإصدار يدويًا في package.json إلى "^4.3.4"؛
  • التحقق من التبعيات غير المباشرة — استخدم npm audit لاكتشاف التبعيات المتداخلة القديمة؛
  • تعطيل الكيانات الخارجية — إذا كان التحديث غير ممكن، قم بتعطيل معالجة DOCTYPE والكيانات الخارجية بشكل صريح عبر خيارات المحلل؛
  • تنفيذ WAF — قم بإعداد جدار حماية تطبيقات الويب (Web Application Firewall) لحظر طلبات XML المشبوهة.


يشير الخبراء إلى أن هذه ليست المرة الأولى التي تظهر فيها ثغرة أمنية حرجة في مكتبات تحليل البيانات. سابقًا، تم اكتشاف مشكلات مماثلة في مكتبات تحليل YAML (js-yaml) وCSV (papaparse). يجب على المطورين توخي المزيد من الحذر تجاه

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