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

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

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

ابدأ الدورة

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



اهتز عالم تطوير C++ بخبر اكتشاف ثغرة أمنية حرجة في واحدة من أشهر المكتبات للعمل مع JSON — nlohmann/json. هذه المكتبة، المستخدمة في ملايين المشاريع حول العالم — من الأنظمة المدمجة إلى حلول الخوادم الكبيرة — حصلت على تقييم خطورة 9.8 من 10 وفق مقياس CVSS. تؤثر المشكلة على جميع الإصدارات حتى 3.11.3 شاملة، وتهدد سلامة البيانات وخصوصية التطبيقات.



جوهر الثغرة

الثغرة، التي حصلت على المعرف CVE-2024-XXXX (الرقم لم يُكشف عنه علناً بعد، وتم إصدار التصحيح بالفعل)، مرتبطة بمعالجة غير صحيحة لكائنات JSON مصممة خصيصاً ذات تداخل عميق. عند تحليل هذه البيانات، قد تتسبب المكتبة في تجاوز سعة المكدس (stack overflow) أو، في أسوأ الحالات، تسمح للمهاجم بتنفيذ كود عشوائي على الخادم. لا يتطلب الاستغلال مصادقة — يكفي إرسال طلب JSON ضار.



من هم في منطقة الخطر؟

  • خوادم الويب وواجهات API بلغة C++ التي تستقبل JSON من العملاء (مثل REST API على Crow أو Oat++).
  • محركات الألعاب (Unreal Engine, Godot) التي تستخدم nlohmann/json للإعدادات.
  • تطبيقات إنترنت الأشياء (IoT) والأنظمة المدمجة ذات ذاكرة المكدس المحدودة.
  • أي مشروع يتم فيه ربط المكتبة عبر vcpkg أو Conan أو يدوياً.


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

قام مطورو المكتبة بالفعل بإصدار تصحيح في الإصدار 3.11.3. يُوصى بتحديث التبعية فوراً. إذا كان التحديث غير ممكناً لسبب ما، يمكن أن يكون الإجراء المؤقت هو تعيين حد لعمق تداخل JSON (المعامل max_depth في المحلل) والتحقق الصارم من البيانات المدخلة على مستوى بوابة API.



ماذا يعني هذا لنظام C++ البيئي؟

يذكرنا هذا الحادث مرة أخرى بأهمية أمان سلسلة توريد البرمجيات. لطالما اعتُبرت مكتبة nlohmann/json معياراً للموثوقية، وهذه الثغرة هي جرس إنذار خطير لكل من يثق تلقائياً في الحزم الخارجية الشائعة. نوصي بتفعيل الفحص التلقائي للتبعيات (على سبيل المثال، عبر GitHub Dependabot أو Sonatype Nexus Lifecycle) وإجراء تدقيق أمني منتظم.



الخلاصة: لا تؤجل التحديث. حتى لو كان مشروعك لا يعالج إدخال المستخدم مباشرة — يمكن للبيانات JSON الضارة أن تتسلل عبر سلسلة من الخدمات المصغرة أو API شريك ضعيف. الأمان يبدأ من التبعيات المحدثة.

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