إذا تم استغلالها ، يمكن أن تسمح هذه العيوب للمهاجمين بالوصول غير المصرح به إلى المعلومات الحساسة أو التسبب بشكل عام في حدوث مشكلات
تم الإفراج عن المعلومات مؤخرا أن تم اكتشاف ثغرة أمنية في Linux kernel بدرجة 10 في CVSS على خادم SMB، مما يمنح المستخدم غير المصدق القدرة على تنفيذ التعليمات البرمجية عن بُعد.
يسمح الخطأ الذي تم العثور عليه للمهاجمين عن بُعد بتنفيذ تعليمات برمجية عشوائية على عمليات التثبيت المتأثرة. المصادقة ليست مطلوبة لاستغلال هذه الثغرة الأمنية ، ولكن الأنظمة التي تم تمكين ksmbd بها هي فقط التي تكون عرضة للهجوم.
يوجد الخلل المحدد في معالجة أوامر SMB2_TREE_DISCONNECT. تنتج المشكلة عن عدم التحقق من وجود كائن قبل إجراء عمليات على هذا الكائن. يمكن للمهاجم استغلال هذه الثغرة الأمنية لتنفيذ تعليمات برمجية في سياق النواة.
تفاصيل الضعف
تسمح هذه الثغرة الأمنية للمهاجمين عن بُعد بتنفيذ تعليمات برمجية عشوائية على عمليات التثبيت المتأثرة لـ Linux Kernel. المصادقة ليست مطلوبة لاستغلال هذه الثغرة الأمنية ، ولكن الأنظمة التي تم تمكين ksmbd بها هي فقط التي تكون عرضة للهجوم.يوجد الخلل المحدد في معالجة أوامر SMB2_TREE_DISCONNECT. سبب المشكلة هو عدم التحقق من صحة وجود كائن قبل إجراء العمليات على الكائن. يمكن للمهاجم استغلال هذه الثغرة الأمنية لتنفيذ تعليمات برمجية في سياق النواة.
يذكر أنه بناءً على نوع طلب SMB ، قد يقرر كل مؤشر ترابط جديد تمرير الأوامر إلى مساحة المستخدم (ksmbd.mountd) ؛ حاليًا ، يتم تحديد أوامر DCE / RPC ليتم معالجتها بواسطة مساحة المستخدم. للاستفادة بشكل أفضل من Linux kernel ، تقرر التعامل مع الأوامر كعناصر عمل وتنفيذها في معالجات مؤشرات الترابط ksmbd -io kworker.
يتيح ذلك للمديرين تعدد الإرسال لأن النواة تعتني ببدء سلاسل عمليات إضافية للعمال إذا زاد الحمل والعكس صحيح ، إذا انخفض الحمل ، فإنه يقتل خيوط العاملين الإضافية.
عند بدء تشغيل البرنامج الخفي للخادم ، يبدأ مسار مفترق (ksmbd / اسم الواجهة) في وقت التمهيد ويفتح منفذًا مخصصًا 445 للاستماع إلى طلبات SMB. في كل مرة يقدم فيها عملاء جدد طلبًا ، يقبل مؤشر ترابط forker اتصال العميل وينشئ سلسلة محادثات جديدة لقناة اتصال مخصصة بين العميل والخادم. يتيح ذلك معالجة طلبات (أوامر) SMB من العملاء بالتوازي ويسمح للعملاء الجدد بإنشاء اتصالات جديدة.
رفع ksmbd الأعلام الحمراء بين بعض المستخدمين الذين ناقشوا اندماجهم العام الماضي. قالت شركة SerNet ، وهي شركة كمبيوتر ألمانية تقدم نسختها الخاصة من Samba ، في منشور على مدونة إن ksmbd كان رائعًا ، لكنه بدا غير ناضج بعض الشيء. بالإضافة إلى ذلك ، ذكر فريق Samba + التابع لـ SerNet في منشور مدونة أن قيمة إضافة خادم SMB إلى مساحة kernel قد لا تستحق المخاطرة "بإخراج آخر جزء من الأداء من العناصر المتاحة".
لحسن الحظ ، إذا كنت لا تشغل وحدة ksmbd "التجريبية" من Samsung ، كما وصفها الباحث الأمني شير تماري على Twitter ، وحافظت على Samba ، فأنت آمن تمامًا. "ksmbd جديد ؛ لا يزال معظم المستخدمين يستخدمون Samba ولا يتأثرون بذلك. في الأساس ، إذا كنت لا تشغل خوادم SMB مع ksmbd ، فاستمتع بعطلة نهاية الأسبوع "، غرد تماري.
وفقًا لمبادرة Zero-Day ، التي كشفت عن ثغرة ksmbd ، فإن الخلل في الاستخدام بعد الخالي موجود في معالجة أوامر SMB2_TREE_DISCONNECT. وفقًا لـ ZDI ، فإن المشكلة ناتجة عن عدم قيام ksmbd بالتحقق من صحة وجود الكائنات قبل إجراء العمليات عليها.
بالنسبة لأولئك الذين يستخدمون ksmbd ، هناك حل بديل إلى جانب التبديل إلى Samba: الترقية إلى إصدار Linux kernel 5.15.61 ، الذي تم إصداره في أغسطس ، أو ما بعده. يعمل تحديث kernel هذا أيضًا على إصلاح بعض المشكلات الأخرى في ksmbd: قراءة خارج الحدود لـ SMB2_TREE_CONNECT ، والتي وفقًا لملاحظة التصحيح يمكن أن تسمح للطلبات غير الصالحة بعدم إرسال الرسائل ، وتسبب تسرب للذاكرة في smb2_handle_negotiate في خلل غير صحيح. ذاكرة.
أخيرًا إذا كنت كذلك مهتم بمعرفة المزيد عنها، يمكنك التحقق من التفاصيل في الرابط التالي.