كشف باحث أمني عن ثغرة جديدة في OpenSSH أُطلق عليها اسم *sshole، تسمح للمهاجمين بتسجيل الدخول إلى حسابات معيّنة على Alpine Linux وتوزيعات Linux الأخرى المبنية على مكتبة musl، والتي يُفترض أن تمنع المصادقة بكلمة المرور، وذلك بمجرد إرسال كلمة مرور ضخمة يبلغ طولها 256 حرفاً أو أكثر. ويقول الباحث الأمني Ozgun Kultekin، الذي اكتشف الثغرة ونشر تفاصيلها يوم الخميس، إنها موجودة منذ عام 2016.
تؤثر الثغرة فقط في خوادم OpenSSH التي تعمل على توزيعات Linux تستخدم مكتبة musl بدلاً من glibc، ومنها Alpine Linux وOpenWrt وBuildroot وYocto، وذلك فقط في ظل إعدادات مصادقة محدّدة. أما Debian وUbuntu وFedora فليست معرّضة للخطر. وقد أصدر OpenSSH تصحيحاً في الإصدار 10.6p2، كما نشرت Alpine تحديثاً خاصاً بها.
كيف تعمل ثغرة *sshole في OpenSSH
يمكن حجب حسابات Linux عن تسجيل الدخول بكلمة المرور عبر استبدال تجزئة كلمة المرور بنجمة (*) في ملف /etc/shadow. ولأن النجمة ليست تجزئة صالحة، فلا ينبغي لأي كلمة مرور أن تفتح تلك الحسابات. وتعود المشكلة إلى تصحيح في OpenSSH صدر عام 2016 لمعالجة الثغرة CVE-2016-6210، جعل الخادم يُجزّئ كلمات المرور حتى للحسابات التي لا تحتوي على تجزئة صالحة، حتى لا يتمكن المهاجمون من تمييز أسماء المستخدمين الصحيحة من زمن الاستجابة.
في أنظمة musl، تُعيد دالة crypt() أيضاً النجمة * عند فشل التجزئة، بما في ذلك عندما تتجاوز كلمة المرور المُرسلة حدّها البالغ 256 بايت. لذلك يستطيع المهاجم إرسال كلمة مرور ضخمة ليقارن OpenSSH بين النجمة المُعادة والنجمة المخزّنة — وهو تطابق يفضي إلى تسجيل دخول ناجح. ويقول Kultekin إن استغلال الثغرة يتطلب توافر هذه الشروط مجتمعة:
لا تتجاوز الثغرة كلمات المرور الحقيقية في الحسابات التي تملك تجزئات صالحة. وقد صرّح باحثو Check Point لموقع Ars Technica بأن تجزئة SHA256 أو SHA512 مهمة لأن sshd يستعير ملح ذلك الحساب، وبأن الحساب يجب أن يكون نشطاً، لا أن يحمل مجرّد تجزئة. وحسابات الجذر آمنة في ظل الإعداد الافتراضي PermitRootLogin prohibit-password، لكن الحسابات التي يمكن الوصول إليها وتملك صلاحيات doas أو sudo قد تصل مع ذلك إلى الجذر.
- يعمل الخادم بـ OpenSSH على توزيعة مبنية على musl (يذكر المكتشف Alpine وOpenWrt وBuildroot وYocto).



