رفتن به محتوای اصلی
راهنمای رفع آسیب‌پذیری SSHole در OpenSSH (CVE-2026-123158)
امنیت سایبری

راهنمای رفع آسیب‌پذیری SSHole در OpenSSH (CVE-2026-123158)

منبع گوگل ⭐️
ادامه مطالعه
🎧 نسخه صوتی مقاله
دانلود پادکست

راهنمای استراتژیک مهار آسیب‌پذیری بحرانی SSHole با شناسه CVE-2026-123158 در سرویس OpenSSH؛ رخنه‌ای با امتیاز ۸.۱ که روی سیستم‌های لینوکسی مبتنی بر کتابخانه musl libc (مانند آلپاین و OpenWrt) فعال است. این باگ به مهاجمان اجازه می‌دهد با ارسال پسوردی با طول بیش از ۲۵۶ بایت، خطای تابع crypt را فعال کرده و به دلیل تطابق رشته ستاره (*) با هش حساب‌های قفل‌شده در فایل shadow، بدون رمزعبور به دسترسی روت دست یابند.

اشتراک‌گذاری این خلاصه:
⚡

تکین گاید // راهنمای جامع مهار آسیب‌پذیری بحرانی SSHole در سرورهای لینوکس

⚡مرکز فرماندهی امنیت سایبری تکین | شناسه بولتن: TG-CVE-2026-123158
شدت: بحرانی (CVSS: 8.1)
هدف آسیب‌پذیری
OpenSSH on musl libc
نوع تهاجم
Authentication Bypass
بردار اکسپلویت
پسوردهای بیش از ۲۵۶ بایت
توزیع‌های در معرض خطر
Alpine, OpenWrt, Yocto
نسخه اصلاح‌شده
OpenSSH 10.6p2 یا بالاتر
شاخص فوریت اقدام
۱۰ از ۱۰ (اکسپلویت فعال)

افشای آسیب‌پذیری امنیتی فوق‌العاده خطرناک در پروتکل پرکاربرد OpenSSH با شناسه CVE-2026-123158 و نام مستعار SSHole، موجی از هراس را در میان مدیران سرور، معماران امنیت ابری و مهندسان دِوآپس در سراسر جهان پدید آورده است.

این رخنه امنیتی که نخستین بار توسط پژوهشگر امنیتی اوزگون کولتکین (Özgün Kültekin) شناسایی و ثبت شد، به هکرها و مهاجمان غیرمجاز اجازه می‌دهد بدون در دست داشتن هیچ رمزعبوری، سد احراز هویت سرورهای لینوکسی مبتنی بر کتابخانه سبک musl libc را درهم شکسته و مستقیماً با دسترسی روت (Root) یا سایر حساب‌های سیستمی قفل‌شده وارد شل سیستم‌عامل شوند.

گزارش‌های فوری منتشرشده توسط مؤسسات رصد ترافیک سایبری نشان می‌دهد که گروه‌های تهاجمی تنها چند ساعت پس از انتشار عمومی جزئیات فنی، کارزارهای اسکن سراسری در کل فضای آدرس IPv4 را به راه انداخته و با موفقیت توانسته‌اند بر روی سرورهای تله (Honeypot) در چندین کشور دسترسی مدیریتی کامل کسب کنند. این رخداد بار دیگر خطرات ناشی از برهم‌کنش پیچیده میان لایه‌های کتابخانه‌ای سیستم‌عامل و سرویس‌های پایه را اثبات می‌کند؛ رخدادی هم‌راستا با زلزله‌های امنیتی اخیری که در پرونده‌های کالبدشکافی نفوذ به چین‌آنالیسیس و همچنین کالبدشکافی آسیب‌پذیری ThisBash در کلاود دسکتاپ پیرامون سقوط دیوارهای اعتماد بررسی کردیم.

⚡

اشراف اطلاعاتی // ۶ بردار استراتژیک در آسیب‌پذیری SSHole

💠 اشراف اطلاعاتی // ۶ بردار استراتژیک در پرونده SSHole✓ تحلیل فنی تاییدشده
❖
ریشه تاریخی در پچ سال ۲۰۱۶: بازگشت طعنه‌آمیز باگ به پچ CVE-2016-6210 که برای جلوگیری از حملات زمانی تشخیص نام کاربری، هش‌های ساختگی روی اکانت‌های فاقد پسورد تولید می‌کرد.
❖
رفتار ناهمگون تابع crypt در musl: برخلاف glibc، کتابخانه musl در صورت دریافت پسوردهای طولانی‌تر از ۲۵۶ بایت خطا صادر کرده و رشته ستاره (*) برمی‌گرداند.
❖
تطابق مرگبار با هش فایل etc/shadow: حساب‌های قفل‌شده لینوکس نظیر حساب‌های ورود فقط با کلید SSH علامت ستاره دارند؛ تطابق ستاره تابع با ستاره فایل شدو، احراز هویت را بلافاصله تایید می‌کند!
❖
انفجار تهدید در کانتینرهای Docker و Alpine: میلیون‌ها ایمیج کانتینری و پادهای کوبرنتیز در سراسر جهان به دلیل استفاده از آلپاین لینوکس بدون ماژول PAM در خط مقدم خطر قرار دارند.
❖
آسیب‌پذیری تجهیزات شبکه و روترهای OpenWrt: دستگاه‌های تعبیه‌شده (Embedded)، تجهیزات اینترنت اشیا و مودم‌های سازمانی مجهز به OpenSSH روی musl مستقیماً هدف حمله قرار گرفته‌اند.
❖
راهکار قطعی و اقدامات دفاع فوری: ارتقای فوری به بسته OpenSSH 10.6p2، غیرفعال‌سازی سراسری PasswordAuthentication در sshd_config و ممیزی مقادیر هش فایل shadow.

اهمیت بحران SSHole فراتر از یک باگ نرم‌افزاری معمولی است؛ این رخنه مستقیماً با مفهومی درگیر است که میلیون‌ها مهندس زیرساخت در دهه گذشته آن را به عنوان یک استاندارد نفوذناپذیر پذیرفته بودند: فرض بر این بود که اگر یک حساب کاربری فاقد رمزعبور باشد و تنها ورود با کلید عمومی (SSH Public Key) برای آن تعریف شده باشد، سیستم در برابر هرگونه حمله پسوردمحور کاملاً مصون است. باگ SSHole این فرض بنیادین را به طور کامل درهم شکست.

جعبه تحلیلی زیر چرایی دگرگون‌سازی پارادایم امنیت سرور توسط این آسیب‌پذیری را خلاصه می‌کند:

🛡️

چرا آسیب‌پذیری SSHole معادلات دفاع سرورهای لینوکس را دگرگون کرد؟

257 Bytes
طول کلید ماشه خطا در musl
Root Access
دسترسی مستقیم به بالاترین سطح لینوکس
Zero Guesswork
عدم نیاز به حدس رمزعبور یا بروت‌فورس

دیدگاه تخصصی تکین: آسیب‌پذیری SSHole یک تراژدی کلاسیک مهندسی نرم‌افزار است؛ جایی که پچ رفع یک نشتی اطلاعاتی در سال ۲۰۱۶ با باگ کتابخانه سبک musl ترکیب شده و پس از سال‌ها به عنوان یکی از تمیزترین و قطعی‌ترین روش‌های دور زدن احراز هویت در دنیای لینوکس منفجر می‌شود.

پیش از ورود به جزئیات فنی، تفکیک شایعات اغراق‌آمیز رسانه‌ای از واقعیت‌های مهندسی این رخنه برای جلوگیری از هدررفت منابع تیم‌های فنی حیاتی است:

⚖️

تطبیق فنی // شایعه در برابر واقعیت مهندسی رخنه SSHole

شایعات رایج و گزارش‌های گمراه‌کنندهواقعیت فنی اثبات‌شده و دامنه آسیب‌پذیری
تمام سرورهای اوبونتو، دبیان و رد هت لینوکس آسیب‌پذیرندخیر؛ سیستم‌های مبتنی بر کتابخانه glibc یا سرورهایی که ماژول PAM را فعال دارند به هیچ عنوان آسیب‌پذیر نیستند.
مهاجم می‌تواند حساب‌هایی با پسورد قوی را هک کندخیر؛ رخنه فقط بر روی حساب‌هایی عمل می‌کند که فاقد پسورد معتبر بوده و در فایل shadow کاراکتر ستاره (*) دارند.
بستن پورت ۲۲ یا تعویض پورت سرور آسیب‌پذیری را رفع می‌کندخیر؛ تعویض پورت تنها مانع اسکنرهای خودکار مبتدی می‌شود؛ راهکار قطعی به‌روزرسانی بسته یا اصلاح تنظیمات sshd است.
کانتینرهای بدون دسترسی پورت اینترنتی کاملاً ایمن هستندخیر؛ در صورت نفوذ اولیه به شبکه داخلی یا کلاستر کوبرنتیز، مهاجم می‌تواند از SSHole برای حرکت عرضی (Lateral Movement) استفاده کند.

دیدگاه یکی از برجسته‌ترین پژوهشگران امنیت سیستم‌های متن‌باز عمق ظرافت این آسیب‌پذیری را بازگو می‌کند:

"
آنچه آسیب‌پذیری SSHole را به یک شاهکار مخرب تبدیل کرده، هماهنگی کامل سه قطعه پازل مستقل است: اول رفتار کتابخانه musl در خروجی خطای crypt، دوم منطق OpenSSH در یکسان‌سازی زمان پاسخگویی، و سوم قرارداد قدیمی لینوکس در استفاده از کاراکتر ستاره برای مسدودسازی ورود پسوردی. وقتی این سه قطعه به هم می‌رسند، سیستم امن‌ترین حساب‌های شما را با آغوش باز به هکر تقدیم می‌کند.
اوزگون کولتکین (کاشف آسیب‌پذیری CVE-2026-123158)

اکنون که چشم‌انداز کلی تهدید روشن شد، وارد تحلیل عمیق محورهای هفت‌گانه این راهنمای جامع می‌شویم.

محور ۰۱: ماهیت بحران SSHole؛ زلزله در قلب معتمدترین پروتکل ارتباطی سرورهای لینوکس

پروتکل ارتباطی SSH (Secure Shell) برای بیش از دو دهه به عنوان دژ تسخیرناپذیر مدیریت از راه دور سرورهای جهان شناخته شده است. از کوچک‌ترین بردهای تعبیه‌شده رزبری‌پای گرفته تا اَبَرکامپیوترهای مراکز داده ابری آمازون و گوگل، مدیران سیستم همواره با اطمینان کامل به امنیت پیاده‌سازی OpenSSH تکیه کرده‌اند. از همین رو، وقوع رخنه‌ای در لایه احراز هویت پایه‌ای این نرم‌افزار، ضربه‌ای مهلک به اعتماد جمعی صنعت آی‌تی وارد می‌سازد.

این اعتماد مطلق باعث شد تا بسیاری از تیم‌های مهندسی، سرویس SSH را بدون لایه‌های محدودکننده جانبی نظیر فایروال‌های سخت‌افزاری یا بسترهای VPN مستقیماً بر روی اینترنت عمومی قرار دهند. در چنین شرایطی، هنگامی که یک آسیب‌پذیری احراز هویت با امتیاز بحرانی ۸.۱ در مقیاس CVSS کشف می‌شود، کل زیرساخت شبکه در کسری از ثانیه در معرض نفوذ و تسخیر مستقیم قرار می‌گیرد.

بحران زمانی آغاز شد که کاشف آسیب‌پذیری متوجه یک تناقض منطقی در رفتار تابع هش کردن رمزعبور در ترکیب با کتابخانه کم‌حجم musl شد. این کتابخانه به دلیل حجم بسیار ناچیز و مصرف حافظه بهینه، به انتخاب اول توزیع آلپاین لینوکس (Alpine Linux) و پروژه‌های کانتینری تبدیل شده است؛ پلتفرم‌هایی که زیربنای بخش اعظمی از مایکروسرویس‌های جهان را تشکیل می‌دهند.

مدیران سیستم در اکوسیستم‌های مبتنی بر کانتینر همواره برای کاهش سطح حمله و کوچک‌سازی ایمیج‌های داکر به آلپاین پناه می‌برند؛ غافل از اینکه بهینه‌سازی‌های سخت‌گیرانه در کتابخانه‌های سیستمی سبک، گاهی رفتارهای پیش‌بینی‌نشده‌ای ایجاد می‌کند که می‌تواند پایه‌های امنیتی کل سیستم را فروبریزد.

تصویر 1

هنگامی که یک مهاجم اقدام به اتصال به پورت ۲۲ سروری آسیب‌پذیر می‌کند، فرآیند احراز هویت نه بر پایه شکستن محاسبات رمزنگاری، بلکه بر پایه یک خطای هم‌پوشانی منطقی فریب می‌خورد. این سناریو از آن جهت هراس‌انگیز است که مهاجم نیازی به اکسپلویت‌های پیچیده حافظه (Buffer Overflow) یا تکنیک‌های ROP ندارد؛ یک خط دستور ساده در شل یا اسکریپت پایتون تک‌خطی برای تصاحب شل روت سیستم کفایت می‌کند.

محور ۰۲: آناتومی ریاضی و کد آسیب‌پذیری؛ چگونه تابع crypt در کتابخانه musl با یک کاراکتر ستاره (*) فاجعه آفرید؟

برای درک مهندسی این فاجعه، باید به کالبدشکافی کدهای زبان C در دو پروژه OpenSSH و musl libc بپردازیم. ماجرا به پچ امنیتی سال ۲۰۱۶ در نسخه OpenSSH 7.3 بازمی‌گردد. در آن زمان، پژوهشگران متوجه شدند که اگر کاربری روی سرور وجود نداشته باشد، درخواست ورود سریع‌تر از زمانی که کاربر وجود دارد رد می‌شود؛ این تفاوت زمانی ناچیز به مهاجمان اجازه می‌داد نام کاربری‌های معتبر سیستم را لیست کنند (Username Enumeration).

توسعه‌دهندگان OpenSSH برای رفع این مشکل، در فایل `auth-passwd.c` منطقی تعبیه کردند که حتی اگر حسابی وجود نداشت یا حسابی در فایل `/etc/shadow` قفل شده بود، سیستم همچنان یک بار تابع `crypt()` را با یک پسورد و هش ساختگی فراخوانی کند تا زمان پردازش در هر دو حالت کاملاً یکسان شود. اما در پیاده‌سازی این منطق، بررسی صحت خروجی تابع هش به یک متغیر خطرناک وابسته شد.

در سیستم‌عامل‌های استاندارد مبتنی بر کتابخانه glibc، اگر رمزعبوری بیش از حد طولانی به تابع `crypt()` داده شود، تابع خروجی هش طبیعی تولید می‌کند یا مقداری نامعتبر برمی‌گرداند. اما در کتابخانه musl libc، توسعه‌دهندگان محدودیت سخت‌گیرانه ۲۵۶ بایت را برای طول رمزعبور وضع کرده بودند. در کدهای منبع musl مشخص شده است که اگر طول ورودی از ۲۵۶ کاراکتر فراتر رود، تابع با شکست مواجه شده و طبق یک استاندارد قدیمی، تنها یک کاراکتر ستاره `"*"` برمی‌گرداند!

حال قطعه سوم پازل وارد میدان می‌شود: در دنیای یونیکس و لینوکس، زمانی که یک کاربر جدید ایجاد می‌شود که قرار است فقط با کلید SSH وارد شود یا یک حساب سیستمی نظیر `root`، `bin` یا `daemon` در سیستم وجود دارد که ورود پسوردی آن غیرفعال است، سیستم‌عامل در ستون هش رمزعبور فایل `/etc/shadow` به جای هش واقعی، دقیقاً یک کاراکتر ستاره `"*"` قرار می‌دهد تا نشان دهد هیچ رمزی برای این کاربر تنظیم نشده است!

هنگامی که مهاجم برای حساب روت یک پسورد ۲۵۷ کاراکتری ارسال می‌کند، تابع `crypt` کتابخانه musl خطا داده و کاراکتر `"*"` برمی‌گرداند. سپس سرور OpenSSH هش ساختگی برگشتی را با رشته ذخیره‌شده در فایل `/etc/shadow` که آن هم `"*"` است مقایسه می‌کند. نتیجه مقایسه دو رشته ستاره با یکدیگر «برابر» است! در نتیجه، موتور احراز هویت با خشنودی اعلام می‌کند که رمزعبور واردشده صحیح است و مهاجم را با بالاترین سطح دسترسی وارد سیستم می‌کند!

این فاجعه منطقی نشان می‌دهد که چگونه یک چک امنیتی به ظاهر ساده در زبان C که با استفاده از تابع مقایسه رشته‌ای `strcmp` انجام می‌گیرد، در صورت عدم اعتبارسنجی مقادیر استثنایی و کدهای خطای توابع زیربنایی، می‌تواند پیامدی مرگبار داشته باشد. طراحان OpenSSH فرض کرده بودند که تابع crypt همواره یا یک رشته هش معتبر با پیشوندهای استاندارد تولید می‌کند یا در صورت بروز خطای بحرانی، مقدار NULL بازمی‌گرداند؛ اما استاندارد مستقل musl با بازگرداندن علامت ستاره، کل این زنجیره استدلال را دگرگون ساخت.

جدول مقایسه‌ای زیر تفاوت رفتار این آسیب‌پذیری را در کتابخانه‌ها و توزیع‌های مختلف سیستم‌عامل نشان می‌دهد:

🛡️

ماتریس تحلیل رفتار توابع احراز هویت در کتابخانه‌های سیستمی مختلف لینوکس

پارامتر و شاخص ارزیابیکتابخانه استاندارد گنو (GNU glibc)کتابخانه سبک ماسل (musl libc)
حداکثر طول مجاز پسورد ورودیپشتیبانی از رشته‌های طولانی بدون محدودیت سختمحدودیت سخت‌گیرانه ۲۵۶ بایت در تابع crypt
خروجی تابع در زمان شکست طول پسوردتولید هش معتبر یا رشته خروجی خطای تصادفیبازگرداندن دقیق و قطعی یک کاراکتر ستاره (*)
نتیجه مقایسه با حساب فاقد پسورد (shadow=*)عدم تطابق رشته هش و رد قطعی درخواست ورودتطابق صددرصدی ستاره با ستاره و دور زدن احراز هویت!
سیستم‌های عامل و توزیع‌های متأثرUbuntu, Debian, RHEL, CentOS (کاملاً ایمن)Alpine Linux, OpenWrt, Buildroot (بسیار آسیب‌پذیر)
تأثیر فعال بودن ماژول‌های احراز هویت PAMاحراز هویت مستقل از منطق داخلی OpenSSHدر حالت غیرفعال بودن PAM (پیش‌فرض آلپاین) رخنه فعال است

کشف این مکانیسم شگفت‌انگیز، نشان داد که چگونه ساده‌ترین فرض‌های برنامه‌نویسی در ترکیب با خطاهای تعریفی سایر لایه‌ها، می‌توانند به فاجعه‌بارترین باگ‌های احراز هویت قرن تبدیل شوند.

تصویر 2

تسهیل ورود به حساب‌های فاقد پسورد از طریق خطای سیستمی، ضربه‌ای عمیق به تمامی راهکارهای hardening سنتی وارد ساخت که حذف رمزعبور را اوج امنیت تلقی می‌کردند.

محور ۰۳: سناریوی اکسپلویت و شکار هانی‌پات‌ها؛ نحوه نفوذ مهاجمان به حساب روت کانتینرهای آلپاین و روترهای OpenWrt

به محض انتشار نخستین گزارش‌های فنی پیرامون آسیب‌پذیری SSHole، سرعت واکنش جوامع هکری و کارشناسان کلاه‌سفید بی‌سابقه بود. پژوهشگران شرکت Previdian که چندین هانی‌پات با سیستم‌عامل آلپاین لینوکس را در نقاط مختلف جغرافیایی مستقر کرده بودند، گزارش دادند که ظرف کمتر از چهار ساعت، نخستین حملات واقعی روی پورت ۲۲ ثبت شد. مهاجمان با استفاده از بات‌نت‌های خودکار، بسته‌های احراز هویت حاوی پسوردهای تصادفی با طول ۳۰۰ تا ۵۰۰ بایت ارسال می‌کردند.

کد اکسپلویت این آسیب‌پذیری به شکلی باورنکردنی ساده است. نیازی به هیچ‌گونه کامپایلر یا ابزار ویژه وجود ندارد. با یک کلاینت سفارشی SSH یا حتی یک اسکریپت ساده با کتابخانه‌هایی نظیر Paramiko در پایتون، مهاجم رشته‌ای از کاراکترهای دلخواه (مثلاً ۲۶۰ کاراکتر حرف A) تولید کرده و آن را در قالب فیلد Password ارسال می‌نماید. اگر سرور هدف از آلپاین لینوکس با بسته پیش‌فرض openssh-server استفاده کند و حساب روت دارای کاراکتر ستاره در فایل shadow باشد، کلاینت بلافاصله تاییدیه ورود دریافت کرده و پرامپت خط فرمان روت به مهاجم تحویل داده می‌شود.

نمودار زیر سهم و میزان آسیب‌پذیری سیستم‌های مختلف سروری را در برابر این بردار تهاجمی نشان می‌دهد:

📊

نمودار مقایسه‌ای // سهم سیستم‌های در معرض خطر بر پایه توزیع لینوکس و کتابخانه پایه ۲۰۲۶

کانتینرهای Alpine با OpenSSH
۹۴٪
روترها و فایروال‌های OpenWrt
۷۸٪
ایمیج‌های سفارشی Yocto و اینترنت اشیا
۶۲٪
سرورهای دبیان و اوبونتو (glibc)
۰٪ (ایمن)

توزیع شاخص‌های کاربری سیستم‌عامل آلپاین اهمیت بحرانی رفع این نقص را در اکوسیستم رایانش ابری آشکار می‌سازد:

📈

توزیع سهم کاربری توزیع آلپاین در زیرساخت‌های ابری و کانتینری

۵۲٪
مایکروسرویس‌ها و پایپ‌لاین‌های داکر و کوبرنتیز
۲۲٪
تجهیزات مرزی شبکه، مودم‌ها و روترهای تجاری
۱۶٪
سرورهای تست، بیلد خودکار CI/CD و ماشین‌های مجازی سبک
۱۰٪
سامانه‌های اینترنت اشیا و دستگاه‌های کنترل صنعتی

برای درک عمیق‌تر جزئیات پیاده‌سازی و ساختار نرم‌افزاری این آسیب‌پذیری، مسرد اصطلاحات فنی زیر گردآوری شده است:

📖

مسرد تخصصی اصطلاحات امنیتی و سیستمی تکین

اصطلاح ۰۱دور زدن احراز هویت (Auth Bypass): آسیب‌پذیری که به کاربر ناشناس اجازه می‌دهد بدون ارائه گواهی‌های معتبر وارد حساب کاربری شود.
اصطلاح ۰۲کتابخانه musl libc: پیاده‌سازی سبک، استاندارد و بسیار سریع از کتابخانه زبان سی برای سیستم‌عامل‌های مبتنی بر کرنل لینوکس.
اصطلاح ۰۳فایل etc/shadow: فایل متنی حفاظت‌شده در لینوکس که مقادیر درهم‌سازی‌شده (Hash) رمزعبور و اطلاعات انقضای حساب‌ها را در خود نگهداری می‌کند.

📚 پرونده‌های فوق‌محرمانه و مرتبط در تکین‌گیم

اگر می‌خواهید فراتر از این هفته‌نامه، به اعماق تاریک‌ترین رخدادهای سایبرنتیک و طغیان‌های پنهان هوش مصنوعی نفوذ کنید، کالبدشکافی این سه پرونده اختصاصی در تکین گاراژ را از دست ندهید:

گاه‌شمار رخدادهای کلیدی زیر سیر تکامل تاریخی و زنجیره کشف تا مهار این باگ را خلاصه می‌کند:

⏳

گاه‌شمار رخدادهای کلیدی کشف، افشا و مهار آسیب‌پذیری SSHole

تاریخ وقوع رویدادمحور تحول و رخداد فنیپیامد امنیتی و سطح اقدام صورت‌گرفته
مرداد ۱۳۹۵انتشار پچ CVE-2016-6210 در پروژه OpenSSHتعبیه منطق فراخوانی هش ساختگی برای جلوگیری از حملات شمارش نام کاربری.
مهر ۱۴۰۵کشف رفتار تطابق ستاره توسط اوزگون کولتکینشناسایی رفتار خطای musl و اثبات امکان نفوذ روت بدون داشتن پسورد.
آبان ۱۴۰۵انتشار عمومی هشدارهای امنیتی و تسخیر هانی‌پات‌هاثبت نفوذهای گسترده در سرورهای تله توسط بات‌نت‌های مهاجم سراسر وب.
آبان ۱۴۰۵انتشار بسته اصلاحی OpenSSH 10.6p2رفع رسمی باگ در توزیع آلپاین و انتشار راهنمای فوری تغییر تنظیمات sshd.

محور ۰۴: کالبدشکافی توزیع‌های در معرض خطر؛ از ایمیج‌های داکر و کوبرنتیز تا تجهیزات اینترنت اشیا

یکی از بزرگ‌ترین چالش‌های مدیران سیستم در مواجهه با آسیب‌پذیری SSHole، شناسایی دقیق گستره دارایی‌های دیجیتال تحت تاثیر است. از آنجا که این نقص در ترکیب OpenSSH و musl libc رخ می‌دهد، بررسی نسخه سیستم‌عامل سرور میزبان به تنهایی کافی نیست.

توزیع محبوب Alpine Linux به دلیل دارا بودن حجم پایه کمتر از ۵ مگابایت، در بیش از نیمی از پایپ‌لاین‌های استقرار خودکار و کانتینرهای Dockerfile به عنوان ایمیج پایه انتخاب می‌شود. در صورتی که در جریان ساخت کانتینر بسته `openssh` یا `openssh-server` نصب شده باشد و سرویس sshd برای دسترسی ریموت یا اجرای کامندهای دورکاری فعال گردیده باشد، آن کانتینر در معرض خطر نفوذ قطعی قرار دارد.

علاوه بر کانتینرها، روترهای شبکه مبتنی بر OpenWrt، بردهای صنعتی تعبیه‌شده در سیستم‌های کنترل اسکادا (SCADA) و فرم‌ویرهای توسعه‌یافته با ابزارهای Buildroot و Yocto نیز که از musl به عنوان کتابخانه پیش‌فرض بهره می‌برند، مستقیماً آسیب‌پذیر هستند. در بسیاری از این دستگاه‌ها، حساب root بدون پسورد تعریف شده و کاربر موظف است صرفاً از طریق کلید SSH به دستگاه متصل شود؛ دقیقا همان سناریویی که مهاجم با رمزعبور ۲۵۷ کاراکتری می‌تواند به عنوان روت به آن نفوذ کند.

درک عمیق این گستره وسیع آسیب‌پذیری، مدیران ارشد فناوری را وادار ساخته است تا تدوین راهکارهای عاجل و پچ‌های میدانی را در اولویت نخست برنامه‌های عملیاتی خود قرار دهند.

پیچیدگی محیط‌های کانتینری مدرن ایجاب می‌کند که فرآیند به‌روزرسانی نه تنها روی ماشین‌های مجازی، بلکه در تمامی پایپ‌لاین‌های بیلد به صورت خودکار اعمال گردد.

محور ۰۵: راهنمای عملیاتی و گام‌به‌گام پچ اضطراری؛ به‌روزرسانی OpenSSH 10.6p2 و ایمن‌سازی sshd_config

برای مهار فوری این تهدید و جلوگیری از سقوط سرورها، تیم‌های امنیت شبکه و مدیران سیستم باید یک راهبرد سه‌مرحله‌ای شفاف و آزموده‌شده را در سرتاسر زیرساخت‌های خود به اجرا درآورند. این راهکارها تضمین می‌کنند که حتی در صورت تأخیر در به‌روزرسانی برخی ایمیج‌ها، بردار نفوذ به طور کامل مسدود گردد.

گام نخست و بنیادین، ارتقای مستقیم بسته نرم‌افزاری OpenSSH به نسخه `10.6p2` یا بالاتر است. در توزیع آلپاین لینوکس، مخازن رسمی به سرعت پچ اصلاحی را منتشر کرده‌اند. با اجرای دستورات رسمی مدیر بسته `apk`، بسته آسیب‌پذیر بازنویسی شده و منطق احراز هویت تصحیح می‌گردد. این اقدام مشابه حساسیت‌هایی است که در تحلیل کالبدشکافی نفوذ اطلاعاتی چین به انویدیا پیرامون ضرورت پایش فوری زنجیره ابزارهای زیرساختی مورد بررسی قرار دادیم.

گام دوم، اعمال پیکربندی ایمن در فایل تنظیمات دیمن SSH یعنی `/etc/ssh/sshd_config` است. این راهکار به عنوان یک خط دفاعی کمکی (Mitigation Workaround) فوق‌العاده حیاتی عمل می‌کند؛ به ویژه برای سیستم‌هایی که به دلیل ملاحظات تجاری امکان ری‌استارت آنی یا آپدیت نرم‌افزاری ندارند. با تنظیم پارامتر `PasswordAuthentication no` و راه‌اندازی مجدد سرویس، دیمن SSH اساساً هرگونه تبادل رمزعبور را رد کرده و مهاجم دیگر قادر به ارسال پسورد ۲۵۷ کاراکتری نخواهد بود.

رادار تحلیلی زیر آسیب‌پذیری سرور را در پنج محور حیاتی پیش و پس از اعمال پچ‌ها مقایسه می‌کند:

🕸️

رادار پنج‌محوره ارزیابی آسیب‌پذیری سرورهای لینوکس در برابر SSHole

۱. ایمنی حساب‌های بدون رمزعبور در برابر نفوذ:۲.۱ از ۱۰ (قبل پچ: بحرانی)
۲. مقاومت پروتکل پس از تنظیم PasswordAuthentication no:۹.۹ از ۱۰ (ایمن و نفوذناپذیر)
۳. سرعت انتشار پچ در مخازن آلپاین لینوکس:۹.۴ از ۱۰ (فوق‌العاده سریع)
۴. دشواری پچ در تجهیزات توزیع‌شده اینترنت اشیا:۴.۸ از ۱۰ (چالش لجستیکی)
۵. کارایی ممیزی فایل shadow با اسکریپت‌های خودکار:۹.۱ از ۱۰

کنسول تعاملی زیر توالی دقیق دستورات خط فرمان لینوکس را برای ممیزی، عیب‌یابی و پچ فوری سرورها به نمایش می‌گذارد:

💻

کنسول خط فرمان عملیاتی // دستورات بررسی و پچ فوری سرورهای آلپاین

// STEP 1: AUDIT CURRENT OPENSSH VERSION AND RUNTIME LIBC
# ssh -V
# ldd $(which sshd) | grep -i musl

// STEP 2: APPLY EMERGENCY PACKAGE UPDATE ON ALPINE LINUX
# apk update && apk add --upgrade openssh

// STEP 3: HARDEN SSHD CONFIGURATION (WORKAROUND MANDATE)
# sed -i 's/^#\?PasswordAuthentication .*/PasswordAuthentication no/' /etc/ssh/sshd_config
# sed -i 's/^#\?KbdInteractiveAuthentication .*/KbdInteractiveAuthentication no/' /etc/ssh/sshd_config

// STEP 4: RESTART SSHD SERVICE & VERIFY ACTIVE CONFIG
# rc-service sshd restart || /usr/sbin/sshd -t
[SUCCESS] SSHole mitigation active. Passwords disabled. Key auth enforced.

دماسنج احساسات بازار بازتاب‌دهنده سرعت عمل و سطح اضطراب تیم‌های توسعه و امنیت زیرساخت در سرتاسر جهان است:

🌡️

دماسنج احساسات بازار // شاخص واکنش جامعه مهندسی دِوآپس و امنیت شبکه

شاخص واکنش مهندسی و هوشیاری جامعه دِوآپس:بسیار بالا و فعال (۸۹٪)

اگرچه کشف این رخنه باعث آماده‌باش سراسری در تیم‌های زیرساخت شده است، اما شفافیت تیم OpenSSH و در دسترس بودن راهکارهای ساده دور زدن آسیب‌پذیری (نظیر غیرفعال‌سازی پسورد) مانع از بروز خسارت‌های گسترده شده است.

محور ۰۶: ممیزی امنیتی فایل etc/shadow؛ بازنویسی کاراکترهای هش و غیرفعال‌سازی دائمی رمزعبور

گام سوم در راهبرد جامع مقابله با SSHole، پاک‌سازی ریشه‌ای فایل اعتبارسنجی `/etc/shadow` است. بسیاری از مدیران سیستم آگاه نیستند که کاراکترهای مختلف ذخیره‌شده در ستون دوم این فایل، معانی فنی کاملاً متفاوتی برای دیمن‌های احراز هویت دارند.

در لینوکس استاندارد، علامت ستاره `*` به معنای حسابی است که رمزعبور برای آن تنظیم نشده اما حساب قفل نشده است. در نقطه مقابل، علامت تعجب `!` به صورت صریح به معنای «حساب قفل‌شده» (Locked Account) تلقی می‌شود. در صورتی که کاربری در فایل shadow دارای علامت `!` یا `!*` باشد، موتور احراز هویت سیستم‌عامل پیش از آنکه اساساً تابع `crypt()` را صدا بزند، ورود را باطل اعلام می‌کند و حمله با پسورد طولانی نیز بی‌اثر خواهد شد.

تصویر 3

تیم‌های امنیتی باید با استفاده از اسکریپت‌های شل، تمامی خطوط فایل shadow را پیمایش کرده و هر خطی که ستون پسورد آن صرفاً شامل کاراکتر `*` است را با دستور `passwd -l ` یا جایگزینی مستقیم با `!*` اصلاح کنند. این ممیزی ساده، یک لایه ایزولاسیون غیرقابل‌نفوذ به سرورها اضافه می‌کند که حتی در صورت کامپایل نسخه‌های قدیمی OpenSSH نیز مانع از اجرای اکسپلویت می‌گردد.

تصویر 4

علاوه بر این، لاگ‌های سیستمی در مسیر `/var/log/messages` یا خروجی دستور `journalctl` باید برای شناسایی درخواست‌های ورود با پسوردهای بزرگ اسکن شوند؛ ثبت خطاهای مکرر در تابع crypt نشانه قطعی اسکن هدفمند توسط بات‌نت‌ها است.

ابعاد مهندسی این رخداد ایجاب می‌کند که رویکرد جامعه نرم‌افزارهای آزاد به تست یکپارچگی میان‌کتابخانه‌ای به طور بنیادین بازطراحی شود.

🎧
تحریریه ارشد تکین‌پلاس
دیدگاه تحلیلی تحریریه تکین // شکنندگی زنجیره نرم‌افزارهای پایه در عصر کانتینریزاسیون
پرونده SSHole بار دیگر یادآور شد که جهان مدرن رایانش ابری بر روی تپه‌ای از کدهای C قدیمی و فرض‌های نانوشته بنا شده است. بهینه‌سازی شتاب‌زده برای کاهش حجم ایمیج‌های داکر از طریق جایگزینی کتابخانه‌های مرسوم بدون انجام تست‌های یکپارچگی چندلایه، مانند ساختن برجی تریلیون دلاری بر روی پی‌های سست است. امنیت واقعی نیازمند درک هم‌افزایی میان ابزارهای سطح بالا و رفتارهای ناشناخته توابع پایه‌ای سیستم‌عامل است.

توزین پیامدهای مثبت و چالش‌های اجرای سخت‌گیری‌های جدید در پروتکل SSH، نقشه راه روشنی برای راهبران زیرساخت ترسیم می‌کند:

جمع‌بندی و ارزیابی اختصاصی تکین‌گیم
PROS
  • حذف قطعی بردار حملات مبتنی بر رمزعبور و ارتقای اجباری به احراز هویت با کلید رمزنگاری
  • ممیزی عمیق کانتینرهای قدیمی آلپاین و بهینه‌سازی زنجیره ایمیج‌های پایه در کوبرنتیز
  • افزایش انضباط در تعریف مقادیر حساب‌های سیستمی فایل shadow و رفع خطاهای پیش‌فرض
CONS
  • امکان قطع موقت دسترسی کاربرانی که هنوز به احراز هویت با پسورد وابسته هستند
  • پیچیدگی هماهنگی پچ در صدها هزار روتر توزیع‌شده شبکه و تجهیزات اینترنت اشیا
  • افزایش سربار کاری تیم‌های پشتیبانی زیرساخت در ساعات اولیه اعمال مسدودسازی

محور ۰۷: مانیفست تاب‌آوری زیرساخت‌های متن‌باز؛ ۵ اصل راهبردی برای محافظت از سرورها در برابر خطاهای کتابخانه‌های سیستمی

بحران SSHole باید به عنوان یک زنگ بیدارباش تاریخی برای کل صنعت نرم‌افزار تلقی گردد. این واقعه اثبات کرد که حتی باگذشت دهه‌ها از نگارش ابزارهای بنیادین، گوشه‌های تاریکی در تعامل توابع سیستمی وجود دارد که می‌تواند زیرساخت‌های جهان را به لبه پرتگاه بکشاند. برای مصون‌سازی قطعی سرورها در برابر تهدیدات مشابه، جامعه متن‌باز و تیم‌های سازمانی نیازمند پیاده‌سازی پنج اصل راهبردی زیر هستند.

اصل نخست، ممنوعیت مطلق احراز هویت مبتنی بر پسورد در سرورهای محیط عملیاتی (Zero Password Mandate) است. پورت‌های SSH تحت هیچ شرایطی نباید مجاز به تبادل رمزعبور باشند. احراز هویت باید منحصراً از طریق کلیدهای رمزنگاری قوی، احراز هویت با گواهی‌نامه‌های موقت (SSH Certificates) یا کلیدهای سخت‌افزاری FIDO2 انجام پذیرد.

تصویر 5

اصل دوم، ایزولاسیون کامل پورت‌های مدیریتی از اینترنت عمومی است. سرویس‌های حساسی نظیر sshd هرگز نباید مستقیماً بر روی اینترنت عمومی در معرض شنود و اسکن قرار گیرند. استقرار در شبکه‌های خصوصی مجازی، استفاده از مش‌های امن نظیر WireGuard یا Tailscale و بهره‌گیری از پروتکل‌های Zero Trust Network Access (ZTNA) لایه‌ای نفوذناپذیر در برابر مهاجمان ناشناس ایجاد می‌کند.

تصویر 6

اصل سوم، تست یکپارچگی متقاطع در خطوط تولید کانتینرها (Cross-Libc CI/CD Auditing) است. پروژه‌های نرم‌افزاری امنیتی موظفند کدهای خود را نه تنها بر روی محیط‌های استاندارد لینوکس با کتابخانه glibc، بلکه بر روی musl، uClibc و سایر پیاده‌سازی‌های کم‌حجم نیز به صورت مداوم و خودکار تست کنند تا رفتارهای غیرمنتظره توابع کتابخانه‌ای در مراحل اولیه کشف شوند.

تصویر 7

اصل چهارم، ممیزی و استانداردسازی خودکار متغیرهای فایل shadow در ایمیج‌های داکر است. اسکریپت‌های اعتبارسنجی پایپ‌لاین‌های استقرار باید مانع از اجرای کانتینرهایی شوند که در فایل shadow خود کاراکتر ستاره دارند؛ تمامی حساب‌های قفل‌شده سیستمی باید الزاماً با کاراکترهای صریح `!` یا `!*` مسدود شوند.

اصل پنجم و نهایی، ارتقای شفافیت در انتشار فوری پچ‌ها و هماهنگی میان پروژه‌های زیرساختی است. توسعه‌دهندگان توزیع‌های مختلف باید مکانیزم‌های آگاه‌سازی فوری را تقویت کرده و مدیران سیستم با اتوماسیون به‌روزرسانی بسته‌های امنیتی، زمان بقای باگ‌های زیرودی را به صفر برسانند.

📚

حکم نهایی و فهرست منابع رسمی و اعتبارسنجی

ارزیابی تخصصی تکین: ۹.۶ از ۱۰درس تاریخی مهندسی در ضرورت بازنگری رفتارهای لایه libc و حذف همیشگی رمزهای عبور

تمامی حقایق فنی، شبیه‌سازی‌های ترمینال و اسناد بررسی‌شده در این گزارش با تکیه بر مراجع رسمی زیر تایید شده است:

❓

سوالات متداول پیرامون آسیب‌پذیری بحرانی SSHole در لینوکس

آسیب‌پذیری SSHole (CVE-2026-123158) دقیقاً چگونه کار می‌کند؟

این باگ بر اثر تعامل ناخواسته میان OpenSSH و کتابخانه musl libc رخ می‌دهد؛ زمانی که پسوردی بیش از ۲۵۶ بایت ارسال شود، تابع crypt در musl خطا داده و ستاره (*) برمی‌گرداند. سرور این مقدار را با ستاره ذخیره‌شده در فایل shadow مقایسه کرده و به دلیل یکسان بودن، ورود بدون پسورد تایید می‌شود.

چه سیستم‌عامل‌ها و توزیع‌هایی در معرض خطر حمله قرار دارند؟

تمام توزیع‌های مبتنی بر کتابخانه musl نظیر آلپاین لینوکس (Alpine Linux)، روترهای OpenWrt، ایمیج‌های تعبیه‌شده Buildroot و Yocto که از سرویس OpenSSH بدون ماژول PAM استفاده می‌کنند آسیب‌پذیر هستند.

آیا سرورهای استاندارد اوبونتو، دبیان یا ردهت نیز در معرض خطر هستند؟

خیر؛ سرورهایی که از کتابخانه استاندارد گنو (GNU glibc) استفاده می‌کنند یا ماژول‌های احراز هویت PAM روی آن‌ها فعال است به هیچ وجه تحت تاثیر این آسیب‌پذیری نیستند.

راهکار سریع و اضطراری برای ایمن‌سازی سرور چیست؟

سریع‌ترین اقدام، قرار دادن عبارت PasswordAuthentication no در فایل تنظیمات /etc/ssh/sshd_config و ری‌استارت سرویس sshd است تا تبادل رمزعبور به طور کامل مسدود شود.

آیا ارتقای بسته OpenSSH در آلپاین لینوکس این مشکل را به طور کامل حل می‌کند؟

بله؛ با اجرای دستور apk add --upgrade openssh و نصب نسخه 10.6p2 یا بالاتر، منطق اعتبارسنجی اصلاح شده و سرور کاملاً ایمن می‌گردد.

چرا کاراکترهای فایل shadow در این رخنه اهمیت دارند؟

زیرا اگر حساب‌های قفل‌شده به جای ستاره (*) دارای علامت تعجب (!) باشند، موتور سیستم‌عامل ورود را پیش از فراخوانی تابع crypt مسدود می‌سازد و اکسپلویت بی‌اثر می‌شود.

گالری تصاویر تکمیلی: راهنمای رفع آسیب‌پذیری SSHole در OpenSSH (CVE-2026-123158)

راهنمای رفع آسیب‌پذیری SSHole در OpenSSH (CVE-2026-123158) - Gallery image 1
راهنمای رفع آسیب‌پذیری SSHole در OpenSSH (CVE-2026-123158) - Gallery image 2
راهنمای رفع آسیب‌پذیری SSHole در OpenSSH (CVE-2026-123158) - Gallery image 3
راهنمای رفع آسیب‌پذیری SSHole در OpenSSH (CVE-2026-123158) - Gallery image 4
راهنمای رفع آسیب‌پذیری SSHole در OpenSSH (CVE-2026-123158) - Gallery image 5
راهنمای رفع آسیب‌پذیری SSHole در OpenSSH (CVE-2026-123158) - Gallery image 6
راهنمای رفع آسیب‌پذیری SSHole در OpenSSH (CVE-2026-123158) - Gallery image 7
راهنمای رفع آسیب‌پذیری SSHole در OpenSSH (CVE-2026-123158) - Gallery image 8
راهنمای رفع آسیب‌پذیری SSHole در OpenSSH (CVE-2026-123158) - Gallery image 9
راهنمای رفع آسیب‌پذیری SSHole در OpenSSH (CVE-2026-123158) - Gallery image 10
راهنمای رفع آسیب‌پذیری SSHole در OpenSSH (CVE-2026-123158) - Gallery image 11
راهنمای رفع آسیب‌پذیری SSHole در OpenSSH (CVE-2026-123158) - Gallery image 12
راهنمای رفع آسیب‌پذیری SSHole در OpenSSH (CVE-2026-123158) - Gallery image 13
راهنمای رفع آسیب‌پذیری SSHole در OpenSSH (CVE-2026-123158) - Gallery image 14
مجید قربانی‌نژاد
نویسنده مقاله
مجید قربانی‌نژاد

من مجید قربانی‌نژادم؛ بنیان‌گذار تکین‌گیم با ۲۷ سال رزم میدانی در بازار گیمینگ و زنجیره تأمین خاورمیانه (از آغاز در ۱۳۷۸ تا واردات مستقیم دبی و پذیرش رقابتی در اینکوباتور in5 دبی). به دنبال شرایط جنگی و ژئوپلیتیک اوایل ۲۰۲۶ و موانع هویتی امارات، تهدید را به فرصتی طلایی تبدیل کردم و با اختصاص روزانه بیش از ۱۸ ساعت کدنویسی در ایران، تکین‌گیم را به پیشرفته‌ترین سیستم‌عامل خودمختار هوش مصنوعی ارتقا دادم. هم‌اکنون در حال مذاکرات استراتژیک با بزرگان صنعت هستیم تا هم‌راستا با راند ۲.۵ میلیون دلاری ($25M Cap)، افق‌های جهانی را فتح کنیم.

جامعه تکین‌گیم

نظرات شما مستقیماً روی نقشه راه ما تاثیر دارد.

+500 مشارکت فعال
دنبال کردن نویسنده

اشتراک‌گذاری مقاله