ثغرة أمنية في strongSwan IPsec تؤدي إلى تنفيذ تعليمات برمجية عن بعد

تحتوي حزمة strongSwan، وهي حزمة VPN تعتمد على IPSec وتستخدم على Linux وAndroid وFreeBSD وmacOS، على ثغرة أمنية (CVE-2023-41913) يمكن استغلالها لتنفيذ تعليمات برمجية عن بعد بواسطة مهاجم. ترجع الثغرة الأمنية إلى خطأ في عملية charon-tkm مع تطبيق TKMv2 (Trusted Key Manager) لبروتوكول Key Exchange (IKE)، مما يؤدي إلى تجاوز سعة المخزن المؤقت عند معالجة قيم نظام DH (Diffie–Hellman) المنسقة خصيصًا. تظهر الثغرة الأمنية فقط على الأنظمة التي تستخدم إصدارات charon-tkm وstrongSwan بدءًا من الإصدار 5.3.0. تم إصلاح المشكلة في تحديث strongSwan 5.9.12. ولإصلاح الثغرة الأمنية في الفروع بدءًا من الإصدار 5.3.x، تم أيضًا إعداد التصحيحات.

سبب الخطأ هو عدم التحقق من حجم قيم Diffie-Hellman العامة قبل نسخها إلى مخزن مؤقت ذو حجم ثابت على المكدس. يمكن بدء تجاوز السعة عن طريق إرسال رسالة IKE_SA_INIT معدّة خصيصًا والتي تتم معالجتها بدون مصادقة. في الإصدارات الأقدم من strongSwan، تم إجراء التحقق من الحجم في معالج الحمولة KE (Key Exchange)، ولكن في الإصدار 5.3.0 تمت إضافة تغييرات نقلت التحقق من القيم العامة إلى جانب معالج بروتوكول DH ( Diffie-Hellman) وإضافة وظائف عامة لتبسيط التحقق من صحة المجموعات المعروفة D.H. بسبب خطأ ما، نسوا إضافة وظائف فحص جديدة إلى عملية charon-tkm، والتي تعمل كبديل بين عملية IKE وTKM (Trusted Key Manager)، ونتيجة لذلك تحتوي وظيفة memcpy() على قيم غير محددة الذي سمح بكتابة ما يصل إلى 512 بايت إلى مخزن مؤقت للبيانات يبلغ 10000 بايت.

المصدر: opennet.ru

إضافة تعليق