CryptoLib provides a software-only solution using the CCSDS Space Data Link Security Protocol - Extended Procedures (SDLS-EP) to secure communications between a spacecraft running the core Flight System (cFS) and a ground station. Prior to version 1.4.3, the libcurl write_callback function in the KMC crypto service client allows unbounded memory growth by reallocating response buffers without any size limit or overflow check. A malicious KMC server can return arbitrarily large HTTP responses, forcing the client to allocate excessive memory until the process is terminated by the OS. This issue has been patched in version 1.4.3.
NASA CryptoLib versions prior to 1.4.3 contain a critical memory exhaustion vulnerability in the KMC crypto service client. The libcurl write_callback function lacks size limits, allowing malicious KMC servers to force unbounded memory allocation through oversized HTTP responses, leading to denial of service. Exploitation code exists and patches are available in version 1.4.3.
تؤثر هذه الثغرة على مكتبة CryptoLib التي توفر حلاً برمجياً لتأمين الاتصالات بين المركبات الفضائية ومحطات الأرض باستخدام بروتوكول CCSDS SDLS-EP. الخلل يكمن في دالة write_callback الخاصة بمكتبة libcurl في عميل خدمة التشفير KMC، حيث تقوم بإعادة تخصيص مخازن الاستجابة دون أي فحص لحدود الحجم أو تجاوز السعة. يمكن لخادم KMC خبيث إرسال استجابات HTTP ضخمة تجبر العميل على تخصيص ذاكرة مفرطة حتى ينهي نظام التشغيل العملية. تم تصنيف الثغرة بدرجة خطورة 7.5 وتصنف ضمن CWE-789 المتعلق بتخصيص الذاكرة غير المحكوم.
تحتوي إصدارات مكتبة NASA CryptoLib الأقدم من 1.4.3 على ثغرة حرجة في استنزاف الذاكرة ضمن عميل خدمة التشفير KMC. تفتقر دالة write_callback في libcurl إلى حدود الحجم، مما يسمح لخوادم KMC الضارة بفرض تخصيص ذاكرة غير محدود عبر استجابات HTTP كبيرة الحجم، مما يؤدي إلى رفض الخدمة. يوجد كود استغلال وتتوفر تصحيحات في الإصدار 1.4.3.
1. Immediately upgrade NASA CryptoLib to version 1.4.3 or later which includes proper memory allocation bounds checking and overflow protection in the libcurl write_callback function
2. Implement network segmentation and access controls to restrict KMC server communications to trusted endpoints only, and deploy intrusion detection systems to monitor for abnormal HTTP response sizes
3. Establish memory usage monitoring and alerting for processes using CryptoLib, configure OS-level resource limits (ulimit) to prevent complete system exhaustion, and conduct security assessments of all cFS-based satellite communication systems
1. الترقية الفورية لمكتبة NASA CryptoLib إلى الإصدار 1.4.3 أو أحدث والذي يتضمن فحصاً صحيحاً لحدود تخصيص الذاكرة وحماية من تجاوز السعة في دالة write_callback الخاصة بـ libcurl
2. تطبيق تجزئة الشبكة وضوابط الوصول لتقييد اتصالات خادم KMC بالنقاط الموثوقة فقط، ونشر أنظمة كشف التسلل لمراقبة أحجام استجابات HTTP غير الطبيعية
3. إنشاء مراقبة وتنبيهات لاستخدام الذاكرة للعمليات التي تستخدم CryptoLib، وتكوين حدود الموارد على مستوى نظام التشغيل (ulimit) لمنع الاستنزاف الكامل للنظام، وإجراء تقييمات أمنية لجميع أنظمة الاتصالات الفضائية المبنية على cFS