Alpine Linux تصلح ثغرة OpenSSH التي سمحت لحرف واحد بإفساد عطلتك بأكملها
تقوم Alpine Linux بترقيع ثغرة في OpenSSH حيث يمكن لنجمة واحدة أن تسمح للمهاجمين بالدخول إلى حسابات بدون كلمة مرور - لأن التوزيعات الصغيرة هي التي تعاني، بالطبع.
السيناريو الكابوسي المثالي لخادم لينكس هو عندما يكون كل ما يحتاجه المهاجم هو الوصول إلى منفذ Secure Shell (SSH) الخاص بالخادم، والدخول مباشرة، والسيطرة عليه. هذا ما حدث لـ Alpine Linux، خادم لينكس الخفيف الشهير. ولزيادة الطين بلة، حدث هذا بعد أيام فقط من تفادي Alpine Linux لرصاصة بحجم ثغرة أمنية في تطبيق GitLab الخاص به.
كما أوضح مهندس الأمن جريجوري براينت في منشوره على LinkedIn: "معظم تجاوزات المصادقة تأتي من سلاسل منطقية معقدة، لكن ثغرة Alpine Linux OpenSSH أمس (CVE-2026-123158) تتلخص في حرف واحد: *."
إذا كنت تشغل Alpine Linux (أو أي توزيعة أخرى مبنية على musl) مع حزمة openssh-server الافتراضية (بدون وحدات مصادقة قابلة للتوصيل، أو PAM) وتمكين PasswordAuthentication، يمكن للمهاجم تسجيل الدخول إلى حسابات معطلة كلمة المرور، أو حسابات تعتمد على المفتاح فقط، ببساطة عن طريق إرسال كلمة مرور يتراوح طولها بين 257 و1024 بايت.
Alpine Linux ليست نظام التشغيل الوحيد الذي يستخدم musl، وهي نسخة خفيفة من مكتبة C القياسية (libc). أنظمة تشغيل أخرى تستخدم musl وقد تكون عرضة للخطر تشمل Adélie Linux؛ Void Linux؛ Sabotage Linux؛ OpenWrt، وهو متغير أندرويد؛ ومشروع Yocto، الذي يُستخدم لبناء توزيعات لينكس المدمجة.
Wind River، التي تنتج توزيعة لينكس المدمجة التجارية Wind River Linux، تبحث أيضًا في المشكلة. قال ممثل الشركة لي: "تأخذ Wind River الأمن على محمل الجد. نحن نراجع بنشاط الثغرة المبلغ عنها ونقيّم تأثيرها المحتمل. سنتخذ الإجراءات المناسبة حسب الحاجة."
خلف الكواليس، عندما يتم بناء OpenSSH بدون PAM، فإنه يتحقق من كلمات المرور عن طريق تجزئة محاولة كلمة المرور باستخدام دالة crypt() في مكتبة C. ثم يقارن النتيجة بحقل كلمة المرور المخزنة للحساب. حتى الآن، كل شيء على ما يرام.
ولكن عندما يكون المفتاح أطول من 256 بايت، فإن دالة crypt() في musl تُرجع السلسلة * كمؤشر خطأ. وهذا أيضًا ما يحتويه حقل كلمة المرور لأي حساب بدون كلمة مرور، مثل الحسابات المعتمدة على المفتاح فقط. وبالتالي، فإن "التجزئة" تتطابق ويهبط تسجيل الدخول، ويدخل المهاجم.
لاستغلالها، يحتاج المهاجم فقط إلى اسم مثل هذا الحساب. يحتاج المهاجم أيضًا إلى حساب آخر واحد على الأقل على الجهاز بتجزئة كلمة مرور من 5 أو 6، ثم إرسال كلمة مرور من 257 إلى 1024 بايت. وفقًا لـ Alpine، يكفي مستخدم واحد لديه كلمة مرور لجعل كل حسابات بدون كلمة مرور قابلة للوصول.
في أنظمة لينكس التي تستخدم crypt() من glibc، وهي جميعها تقريبًا، فإن نفس المحاولة ستعيد NULL عند الخطأ، وهو ما يرفضه sshd بالفعل، لذا فإن Debian وUbuntu وFedora وغيرها ليست متأثرة.
وفقًا لـ *sshole، المجموعة التي اكتشفت المشكلة، هذا تأثير جانبي كان مخفيًا منذ عام 2016.
قالت Alpine إن كل إصدار فحصته متأثر: 3.21 حتى 3.24، وedge، وفروع 3.16 إلى 3.20 الأقدم. يتطلب التعرض ما يلي:
الجذر ليس مكشوفًا مباشرة في معظم الحالات. لقد تم شحنه كـ root:* في الصورة الأساسية منذ حوالي Alpine 3.16، لكن إعداد OpenSSH الافتراضي PermitRootLogin prohibit-password يحظره. حساب آخر يمكن أن يصبح جذرًا، على سبيل المثال عبر doas، لا يزال يمنح المهاجم طريقًا إلى الجذر.
حددت Alpine صور tiny-cloud الرسمية الخاصة بها، الإصدارات 3.18.11 حتى 3.24.3، على أنها عرضة للخطر بشكل خاص. تأتي هذه مع مستخدم alpine بحقل كلمة مرور * وdoas بدون كلمة مرور. تكون آمنة عند التمهيد الأول ولكنها تصبح قابلة للاستغلال بمجرد وجود أي تجزئة 6 على الجهاز. يمكن أن يحدث ذلك عندما يقوم المسؤول بتعيين كلمة مرور وحدة التحكم أو عندما تضيف بيانات المستخدم مستخدمًا بكلمة مرور مجزأة، مما يعني، أساسًا، كلهم.
أصدرت Alpine 3.21.10 و3.22.8 و3.23.8 و3.24.4 يوم الخميس، مع إصلاح OpenSSH ضمن التغييرات الأمنية. كما نشرت حزمًا مُصلحة لكل إصدار حتى 3.16. وصل Alpine 3.21 إلى نهاية الدعم في 1 نوفمبر.
OpenSSH 10.6p2 الذي تم إصداره للتو يتجنب المشكلة في sshd. تحمل فروع Alpine المستقرة تصحيحًا لنفس المشكلة. يجب عليك تشغيل apk upgrade -U -a ثم إعادة تشغيل th
The Good Times
الأخبار في صندوق بريدك.
ملخص ساخر يُسلَّم وفق جدولك. مجاناً. ألغِ الاشتراك متى شئت.
مشترك بالفعل لكننا لا نصل إلى بريدك أبداً؟ تفقّد مجلد الرسائل غير المرغوب فيها واضغط على 'ليست مزعجة' (أو 'إزالة من المزعج') لتخرجنا من مطهر البريد المزعج. وبهذا تساعد الجميع أيضاً.
إذا لم تفتح أياً من رسائلنا لمدة شهر، فستتم إزالتك تلقائياً من قائمة البريد.
Rewrite Article
Select parts to regenerate with a fresh AI pass. Translations will be updated automatically.
Generate AI Image
Creates a sardonic version of the article image using OpenAI.