پرش به محتوای اصلی

مشاوره امنیتی Alpine Linux: دور زدن احراز هویت رمز عبور سرور OpenSSH

هکرنیوز۱۴۰۵ آبان ۱۴, پنجشنبه، ساعت ۱۸:۱۴حدود 3 دقیقه مطالعه

آدرس مقاله: https://alpinelinux.org/posts/2026-11-05-openssh-password-authentication-bypass/ آدرس نظرات: https://news.ycombinator.com/item?id=50379704 امتیاز: 322 # نظر: 45

اگر sshd را در Alpine Linux اجرا می کنید، openssh را هم اکنون به روز کنید و sshd را مجددا راه اندازی کنید. ارتقاء بسته به تنهایی جایگزین دیمون در حال اجرا نمی شود.

اگر هنوز نمی توانید به روز رسانی کنید، حداقل ورود رمز عبور را غیرفعال کنید: PasswordAuthentication no را در پیکربندی sshd خود تنظیم کنید و sshd را مجددا راه اندازی کنید. هر کدام سوراخ را می بندد.

مهاجمی که می تواند به پورت SSH شما دسترسی پیدا کند، می تواند بدون دانستن هیچ رمز عبور وارد شود. این یک اتصال طول می کشد، هر بار کار می کند، و نیازی به تلاش مجدد ندارد.

جزئیات در یادداشت‌های انتشار OpenSSH 10.6p2 آمده است. در زمان نگارش هیچ شناسه CVE اختصاص داده نشده بود.

اگر همه موارد زیر درست باشد، تحت تأثیر قرار می گیرید:

نسخه‌های تحت تأثیر: هر نسخه Alpine که بررسی کردیم، 3.21 تا 3.24 و edge، و نسخه‌های قدیمی‌تر که دیگر به‌روزرسانی‌های معمولی دریافت نمی‌کنند (3.16 تا 3.20).

Alpine 3.21.10، 3.22.8، 3.23.8 و 3.24.4 حاوی بسته ثابت هستند (به اطلاعیه انتشار مراجعه کنید). نسخه های بسته ثابت عبارتند از:

sshd را پس از ارتقا مجدد راه اندازی کنید ( rc-service sshd restart ). ارتقای بسته باعث راه‌اندازی مجدد sshd در حال اجرا نمی‌شود، بنابراین باید بعد از آن این کار را انجام دهید.

قبل از شروع، مطمئن شوید که ورود به سیستم کلید SSH شما کار می کند و جلسه فعلی خود را تا زمانی که یک ورود جدید را آزمایش نکنید، باز نگه دارید.

اینها را به صورت روت اجرا کنید. دو دستور اول یک فایل drop-in ایجاد می کنند. sshd_config پیش فرض Alpine آن دایرکتوری را از 3.19 به بعد می خواند. نسخه های قدیمی تر آن را نادیده می گیرند. دستور sed در هر خط PasswordAuthentication در /etc/ssh/sshd_config، بله به خیر تغییر می کند، فاصله هر چه باشد، از جمله خطوط داخل یک بلوک Match. همچنین برای مواردی که چنین خطی وجود ندارد، PasswordAuthentication no را در بالای فایل اضافه می‌کند و نسخه اصلی را به‌عنوان /etc/ssh/sshd_config.bak ذخیره می‌کند. دو دستور آخر پیکربندی را بررسی می کنند، دیمون را مجددا راه اندازی می کنند و نتیجه را نشان می دهند:

آخرین دستور باید احراز هویت رمز عبور را چاپ کند. برای لغو، /etc/ssh/sshd_config.d/00-no-passwords.conf را حذف کنید و /etc/ssh/sshd_config.bak را دوباره روی /etc/ssh/sshd_config کپی کنید.

تصاویر ساخته شده از 3.21.10، 3.22.8، 3.23.8، 3.24.4 و نسخه های بعدی شامل بسته ثابت هستند. تصاویر مربوط به نسخه های قبلی چنین نیست، بنابراین در هر نمونه در حال اجرا، openssh را به روز کنید یا احراز هویت رمز عبور را غیرفعال کنید.

این نسخه ها دارای همان اشکال هستند. 3.21 به پایان پشتیبانی خود در 01-11-2026 رسید، اما ما بسته های ثابتی را برای هر نسخه تا 3.16 منتشر کرده ایم.

در /var/log/messages برای خواندن خطوط sshd گذرواژه پذیرفته شده برای حسابی که گذرواژه ندارد (alpine، root یا هر کاربر فقط کلیدی) را جستجو کنید. کاربران، فایل‌ها و کلیدهای مجاز در ماشین‌های در معرض استفاده و استفاده‌ها و کاربران اخیرا ایجاد شده را بررسی کنید. اگر نمی توانید ورود به سیستم را رد کنید، دستگاه را به عنوان در معرض خطر تلقی کنید.

وقتی sshd بدون PAM ساخته می‌شود، رمز عبور را با هش کردن تلاش با crypt() (عملکرد کتابخانه C که رمز عبور را به هش ذخیره شده خود تبدیل می‌کند) و مقایسه نتیجه با فیلد رمز ذخیره شده بررسی می‌کند. برای حسابی که فیلد ذخیره شده آن برای داشتن salt خیلی کوتاه است (پیشوند تصادفی هش)، sshd نمک یک حساب دیگر را قرض می گیرد.

musl’s crypt() رشته * را به عنوان نشانگر خطا برمی گرداند زمانی که کلید بیش از 256 بایت باشد. * همچنین دقیقا همان چیزی است که فیلد ذخیره شده برای هر حساب بدون رمز عبور دارد، بنابراین "هش" مطابقت دارد و ورود موفقیت آمیز است.

OpenSSH 10.6p2 از بروز مشکل در sshd جلوگیری می کند. بسته‌های شاخه پایدار بالا دارای یک پچ برای همین مشکل هستند.

گزارش شده توسط Özgün Kültekin از Wakefield. با تشکر از دیمین میلر و دارن تاکر از پروژه OpenSSH برای رفع مشکل و نسخه 10.6p2، از تیمو تراس برای کمک به تجزیه و تحلیل مشکل، و از Natanael Copa که بسته های به روز شده را ساخت و آپلود کرد.

خواندن متن کامل در هکرنیوزبه زبان اصلی، در سایت ناشر باز می‌شود
متن اصلی (انگلیسی)

Alpine Linux Security Advisory: OpenSSH-server password authentication bypass

Article URL: https://alpinelinux.org/posts/2026-11-05-openssh-password-authentication-bypass/ Comments URL: https://news.ycombinator.com/item?id=50379704 Points: 322 # Comments: 45

همه‌ی اخبار فناوری