یک باگ تککاراکتری در musl libc اجازه میدهد مهاجمها احراز هویت SSH را در تمام نسخههای آلباین لینوکس از ۳.۱۶ به بعد دور بزنند. ارسال رمز عبوری بین ۲۵۷ تا ۱۰۲۴ بایت، حسابهای فقطکلید را بدون نیاز به رمز اصلی باز میکند.

آلباین لینوکس به دلیل حجم کوچک و پایه musl libc ستون فقرات کانتینرها و دستگاههای لبه است. برخلاف glibc که در دبیان، اوبونتو و فدورا استفاده میشود، تابع crypt() در musl وقتی رمز عبور از ۲۵۶ بایت بیشتر شود، یک ستاره (*) برمیگرداند — همان نشانگر ذخیرهشده برای حسابهای بیرمز. این تصادف یک دور زدن کامل احراز هویت ایجاد میکند. این باگ روزها بعد از رفع یک مشکل امنیتی جداگانه در گیتلب توسط آلباین آشکار شد.

نحوه کارکرد دور زدن احراز هویت
- OpenSSH ساخته شده بدون PAM رمزها را با هش کردن تلاش با تابع crypt() کتابخانه C بررسی میکند.
- نتیجه با فیلد رمز ذخیرهشده حساب مقایسه میشود.
- وقتی رمز از ۲۵۶ بایت بیشتر باشد، crypt() در musl ستاره (*) به عنوان نشانگر خطا برمیگرداند.
- همان ستاره (*) در فیلد رمز برای هر حسابی که رمز ندارد (مانند حسابهای فقطکلید) ذخیره شده است.
- «هش» تطابق مییابد و ورود موفق میشود.
- مهندس امنیت گریگوری براینت گفت: «اکثر دور زدنهای احراز هویت از زنجیرههای منطقی پیچیده میآیند، اما آسیبپذیری OpenSSH آلباین (CVE-2026-123158) به یک کاراکتر واحد خلاصه میشود: *.»
- گروه تحقیق sshole گزارش داد این اثر جانبی از ۲۰۱۶ پنهان مانده است.
- در سیستمهای glibc، crypt() در خطا NULL برمیگرداند که sshd از قبل رد میکند؛ بنابراین دبیان، اوبونتو، فدورا و دیگران تحت تأثیر نیستند.

پیشنیازهای استثمار
- OpenSSH ساخته شده بدون PAM (پکیج پیشفرض آلباین) یا openssh-server-pam با UsePAM no.
- PasswordAuthentication روی yes (پیشفرض OpenSSH).
- حداقل یک حساب با هش رمز استاندارد (نوع ۵ یا ۶) در سیستم.
- مهاجم که نام حساب فقطکلید را بداند.
- بار رمز بین ۲۵۷ و ۱۰۲۴ بایت.
- به گفته آلباین، یک کاربر با رمز باعث میشود هر حساب بیرمزی قابل دسترس شود.
- روت مستقیماً در معرض خطر نیست به دلیل PermitRootLogin prohibit-password (پیشفرض از حدود آلباین ۳.۱۶).
- هر حسابی با دسترسی doas به روت مسیری به تسلط کامل فراهم میکند.
توزیعها و ایمیجهای تحت تأثیر
- آلباین لینوکس: هر نسخه بررسیشده — ۳.۱۶ تا ۳.۲۰، ۳.۲۱ تا ۳.۲۴، و edge.
- آلباین ۳.۲۱ در ۱ نوامبر به پایان پشتیبانی رسیده.
- ایمیجهای رسمی tiny-cloud نسخههای ۳.۱۸.۱۱ تا ۳.۲۴.۳ بهویژه آسیبپذیرند.
- اینها با کاربر alpine که فیلد رمز * دارد و doas بیرمز ارسال میشوند.
- در بوت اول امناند اما پس از وجود هر هش نوع ۶ (ادمین رمز کنسول میگذارد یا داده کاربر حسابی با رمز هششده اضافه میکند) قابل استثمار میشوند.
- توزیعهای دیگر مبتنی بر musl که بالقوه تحت تأثیرند: آدلیه لینوکس، واید لینوکس، سابوتاژ لینوکس، اوپنوِرت، پروژه یوکتو.
- وایند ریور لینوکس به طور فعال تأثیر را بررسی میکند. یک نماینده اظهار کرد: «Wind River امنیت را جدی میگیرد. ما به طور فعال آسیبپذیری گزارششده را بررسی و تأثیر بالقوه آن را ارزیابی میکنیم. اقدام مناسب را به میزان نیاز انجام خواهیم داد.»

سیستمهای تحت تأثیر قرار نگرفته
- کانتینرهایی که sshd اجرا نمیکنند.
- سیستمی که احراز هویت با رمز غیرفعال است.
- سیستمی که از openssh-server-pam با UsePAM yes استفاده میکنند.
- حسابهای قفلشده با ! در فیلد رمز.
- ایمیجهای ابری پیکربندیشده از طریق cloud-init که PasswordAuthentication no مینویسد.
رفع و کاهش فوری ریسک
- آلباین نسخههای پچشده ۳.۲۱.۱۰، ۳.۲۲.۸، ۳.۲۳.۸، و ۳.۲۴.۴ را در پنجشنبه با رفع OpenSSH در میان تغییرات امنیتی منتشر کرد.
- پکیجهای رفعشده برای هر نسخه تا ۳.۱۶ منتشر شده.
- OpenSSH 10.6p2 از منبع اصلی مشکل را رفع میکند.
- شاخههای پایدار آلباین پچ برای همان مسئله را دارند.
- مراحل لازم: اجرای
apk upgrade -U -aسپسrc-service sshd restart. - تنها ارتقای پکیج دامنِ در حال اجرا را جایگزین نمیکند.
- اگر نتوانید بلافاصله بهروزرسانی کنید:
PasswordAuthentication noقرار دهید و sshd را پس از تأیید کارکرد ورود با کلید راهاندازی مجدد کنید.
تشخیص و پاسخ به حادثه
- در
/var/log/messagesبه دنبال خطوط "Accepted password for" بگردید که حسابی بیرمز را نام میبرند. - استفاده از doas را بررسی کنید.
- کاربران، فایلها و کلیدهای مجاز اخیراً ساختهشده را چک کنید.
- آلباین هشدار داد: «اگر نتوانید ورود را رد کنید، ماشین را معیوب تلقی کنید.»
این آسیبپذیری ریسک سیستمی در پیادهسازیهای libc سبک را برجسته میکند که اندازه را بر کدگذاری دفاعی ترجیح میدهند. باگ تقریبا یک دهه پنهان ماند چون مسیر خطا — برگرداندن * برای ورودی بزرگ — با یک مقدار سنتینل مشروع تصادف کرد. توزیعهای مبتنی بر musl مانند آدلیه، واید، سابوتاژ و اوپنوِرت اکنون تحت فشار حسابرسی مشابه قرار دارند. برای تیمهایی که آلباین را در تولید اجرا میکنند، این حادثه تقویت میکند که پیکربندیهای پیشفرض در ایمیجهای مینیمال اغلب فرضهای پنهان درباره وضعیت احراز هویت را حمل میکنند.
اثر درجه دوم بر امنیت زنجیره تأمین میتابد. ایمیجهای tiny-cloud به طور گسترده به عنوان لایه پایه در خط لوله CI/CD و خوشههای کوبرنتیز استفاده میشوند. یک گره سازنده معیوب میتواند کلیدهای مجاز مخرب تزریق کند یا دروازههای پشتی پایدار ایجاد کند که بازسازی ایمیج هم باقی میمانند. سازمانها باید تمام ایمیجهای مشتق از آلباین ساخته شده از زمان باز شدن پنجره آسیبپذیری را حسابرسی کنند و کلیدهای SSH مستقر در آن دوره را چرخش دهند.
بلافاصله پچ کنید، راهاندازی مجدد دامن را تأیید کنید، و لاگها را برای پذیرش رمزهای غیرعادی اسکن کنید. گروه تحقیق sshole جزئیات فنی برای دفاعکنندههایی که نیاز به ساخت قوانین تشخیص سفارشی دارند منتشر کرده است. در روزهای آینده به دنبال تلاشهای استثمار هماهنگ در برابر پورتهای SSH آلباین باز بمانید — این کلاس دور زدن احراز هویت برای خودکارسازی بینهایت ساده و برای بروکرهای دسترسی اولیه ارزش بالا است.
گام بعدی شما
- بلافاصله
apk upgrade -U -aوrc-service sshd restartرا روی تمام گرههای آلباین اجرا کنید. - اگر بهروزرسانی فوری ممکن نیست،
PasswordAuthentication noرا در فایل تنظیمات sshd قرار دهید و دامن را راهاندازی مجدد کنید. - لاگهای
/var/log/messagesرا برای "Accepted password for" روی حسابهای بیرمز جستجو کنید و کلیدهای SSH مربوطه را لغو کنید.




گفتگو