آسیبپذیری بحرانی در Alpine Linux و OpenSSH: دور زدن احراز هویت با یک کاراکتر
Alpine Linux and OpenSSH patch flaw that’s as bad as it can get
یک نقص امنیتی قدیمی در کتابخانه musl باعث شده است که مهاجمان بتوانند با ارسال یک رمز عبور طولانی، احراز هویت OpenSSH را در Alpine Linux و سایر توزیعهای مبتنی بر musl دور بزنند. این آسیبپذیری که با شناسه CVE-2026-123158 ثبت شده، به مهاجم اجازه میدهد تنها با یک اتصال و بدون نیاز به تلاش مجدد، به سیستم دسترسی پیدا کند.
جزئیات فنی و نحوه عملکرد حمله
این آسیبپذیری ناشی از نحوه عملکرد تابع crypt() در کتابخانه musl است. زمانی که OpenSSH بدون استفاده از PAM پیکربندی شده باشد، برای تایید رمز عبور از این تابع استفاده میکند. اگر طول رمز عبور ارسالی بین ۲۵۷ تا ۱۰۲۴ بایت باشد، تابع crypt() در musl به جای خطا، کاراکتر * را بازمیگرداند.
از آنجایی که حسابهای کاربری بدون رمز عبور نیز در فایل shadow با کاراکتر * مشخص میشوند، سیستم به اشتباه تصور میکند که رمز عبور وارد شده با مقدار ذخیرهشده مطابقت دارد. برای موفقیت این حمله، وجود حداقل یک حساب کاربری دیگر با هش رمز عبور نوع 5 یا 6 در سیستم الزامی است.
سیستمهای آسیبپذیر و شرایط بهرهبرداری
علاوه بر Alpine Linux (نسخههای 3.16 تا 3.24 و edge)، توزیعهایی مانند Adélie Linux، Void Linux، Sabotage Linux، OpenWrt و پروژههای مبتنی بر Yocto نیز در معرض خطر هستند. سیستمهایی که از glibc استفاده میکنند (مانند Debian یا Ubuntu) به دلیل رفتار متفاوت تابع crypt() در برابر این حمله ایمن هستند.
شرایط لازم برای بهرهبرداری شامل فعال بودن PasswordAuthentication، استفاده از openssh-server بدون PAM و وجود حداقل یک حساب کاربری با رمز عبور هششده در کنار حساب کاربری بدون رمز است. تصاویر tiny-cloud در نسخههای 3.18.11 تا 3.24.3 به دلیل پیکربندی پیشفرض کاربر alpine، در معرض خطر جدی قرار دارند.
اقدامات اصلاحی و توصیههای امنیتی
تیم Alpine Linux وصلههای امنیتی را در نسخههای 3.21.10، 3.22.8، 3.23.8 و 3.24.4 و همچنین برای تمامی نسخهها تا 3.16 منتشر کرده است. همچنین OpenSSH نسخه 10.6p2 این مشکل را برطرف کرده است.
مدیران سیستم باید بلافاصله بستههای خود را با دستور apk upgrade -U -a بهروزرسانی کرده و سرویس sshd را با دستور rc-service sshd restart مجدداً راهاندازی کنند. در صورت عدم امکان بهروزرسانی، غیرفعال کردن PasswordAuthentication و اطمینان از صحت عملکرد ورود با کلید (Key-based login) توصیه میشود.
نکتههای کلیدی
- شناسه آسیبپذیری: CVE-2026-123158
- تأثیر: دور زدن کامل احراز هویت SSH با یک اتصال
- شرط اصلی: استفاده از کتابخانه musl و عدم استفاده از PAM
- نیاز مهاجم: دانستن نام کاربری و ارسال رمز عبور بین ۲۵۷ تا ۱۰۲۴ بایت
- توزیعهای تحت تأثیر: Alpine Linux، Void Linux، OpenWrt و سایر سیستمهای مبتنی بر musl
چه باید کرد
- اجرای دستور apk upgrade -U -a برای دریافت آخرین وصلهها
- راهاندازی مجدد سرویس SSH با دستور rc-service sshd restart
- بررسی لاگهای سیستم در /var/log/messages برای شناسایی ورودهای مشکوک با عبارت Accepted password for
- بررسی فعالیتهای doas و کاربران اخیراً ایجاد شده برای اطمینان از عدم نفوذ
- در صورت عدم امکان آپدیت، تنظیم PasswordAuthentication به no در فایل پیکربندی sshd