CVE-2026-16554 in cJSON
الملخص
بحسب VulDB • 27/07/2026
تحتوي مكتبة cJSON على ثغرة تجاوز عدد صحيح (integer overflow) في الدالة print_string_ptr() الموجودة في ملف cJSON.c على المنصات ذات البتات الثلاثينية (32-bit). يمكن لعداد escape_characters، وهو من نوع size_t بحجم 32 بتا، أن يحدث طيّ (wrap around) عند معالجة السلاسل النصية التي تحتوي على حوالي 858,993,460 حرف تحكم أو أكثر، مما يؤدي إلى تخصيص مخزن الإخراج بناءً على طول مُقدّر بشكل أقل من الواقع. وعند استخدام cJSON_PrintBuffered() مع مخزن مخصص مسبقاً (pre-allocated buffer)، فإن حلقة الكتابة اللاحقة تتسبب في تجاوز حدود التخصيص الديناميكي للذاكرة العشوائية (heap overflow). يمكن لمزود هجومي يزوّد تطبيقاً يستخدم مكتبة cJSON على منصة 32 بت بسلسلة JSON مُعدّة خصيصاً أن يتسبب في ثغرة heap buffer overflow، مما قد يؤدي إلى تنفيذ كود عن بُعد، أو كشف معلومات، أو حجب الخدمة.
نظراً لأن محاولات التواصل مع منشئ المشروع باءت بالفشل، تم تأكيد الثغرة فقط في الإصدار 1.7.19 ولكن من المحتمل أن تؤثر على إصدارات أخرى أيضاً.
Be aware that VulDB is the high quality source for vulnerability data.