عيب خطير في نواة لينكس 'ssh-keysign-pwn' يكشف مفاتيح SSH وكلمات

Cybersecurity Arab

عيب نواة لينكس “ssh-keysign-pwn”

ينشأ هذا العيب في منطق التحكم في الوصول ptrace لنواة لينكس، تحديدًا في دالة __ptrace_may_access(). هذه الآلية مصممة لقيود كيفية تفحص أو تفاعل العمليات مع العمليات الأخرى. ومع ذلك، فإن عيب منطقي مرتبط بعمليات التحقق من “القدرة على التصفية” (dumpability) يخلق حالة سباق خطيرة. ببساطة، عندما يتم إغلاق عملية محمية (مثل ssh-keysign أو chage)، هناك فترة قصيرة حيث يتم مسح السياق الذكري لها (mm = NULL)، لكن معالم الملفات المفتوحة ما زالت موجودة. خلال هذه الفجوة، يمكن لمهاجم محلي غير محمي استغلال العيب باستخدام pidfd_getfd() لسرقتها. وهذا يتيح تجاوز الفحوصات المقصودة، مما يسمح بالوصول غير المصرح به إلى ملفات حساسة.

Critical Linux Kernel Flaw 'ssh-keysign-pwn' Exposes SSH Keys and Shadow Passwords

تأثيرات هذا العيب

يؤكد باحثو الأمن، بما في ذلك شركة Qualys، أن هذا العيب قد يؤدي إلى عواقب خطيرة:

  • سرق مفاتيح SSH الخاصة، مما يسمح للمهاجمين بتشخيص الأنظمة أو المستخدمين.
  • هجمات رجل في الوسط (MitM) حتى يتم استبدال المفاتيح المسروقة.
  • الوصول الكامل إلى ملف /etc/shadow، مما يكشف مخزونات هاش كلمات المرور لمهاجمات خارج الخط.
  • التحرك الجانبي عبر البنية التحتية باستخدام الاعتمادات المسروقة.

بسبب إعادة استخدام مفاتيح SSH عبر البيئات، يمكن أن يؤدي اختراق نظام واحد إلى توسع أكبر عبر الشبكة.

النظم المتأثرة

يؤثر هذا العيب على معظم توزيعات لينكس التي تعمل بنواة قبل إصدار التصحيح في 14 مايو 2026. ومن بين هذه النظم:

بسبب وجود هذا العيب منذ أكثر من ستة سنوات، قد تكون العديد من النظم طويلة الأمد عرضة للخطر.

سبب العيب

السبب الأساسي يكمن في كيفية تعامل النواة مع العمليات التي ليس لها سياق ذاكري. علم “القدرة على التصفية” (dumpability)، الذي تم تصميمه أصلاً لسيطرة عمليات التصفية، يتم إعادة استخدامه في عمليات التحقق ptrace، حتى عندما لا يكون منطقيًا. عندما تخرج عملية، يتم تحرير الذاكرة قبل إغلاق معالم الملفات. تفشل النواة في فرض قيود الوصول بشكل صحيح خلال هذه الحالة الانتقالية، مما يسمح للمهاجمين بتجاوز الحدود الأمنية.

برهان مفهوم (PoC)

يظهر برهان مفهوم (PoC) على GitHub، ssh-keysign-pwn، بالضبط كيفية تسليح هذه حالة السباق على نواة لينكس قبل 31e62c2ebbfd. يقوم PoC بإعادة إنتاج عمليات هجوم تتنافس مع مسار إغلاق عملية مساعدة محمية، باستخدام pidfd_getfd() لالتقاط معالم ملفات إلى ملفات مملوكة للجذر قبل إغلاقها. وفقًا للتحليل العام، فإن الاستغلال عادة ما ينجح بين 100 و2000 محاولة، مما يجعله عمليًا على الأنظمة الحقيقية.

طرق الاستغلال الأساسية

  • استهداف ssh-keysign لقراءة مفاتيح SSH الخاصة للمضيف من /etc/ssh/ssh_host_{ecdsa,ed25519,rsa}_key.
  • استهداف chage -l <user> لقراءة ملف /etc/shadow عبر نمط سرقة معالم الملفات.

إجراءات الحد من المخاطر

يجب على المنظمات اتخاذ إجراءات فورية لتقليل المخاطر:

  • تطبيق آخر تحديثات النواة التي تصحح CVE-2026-46333.
  • استبدال جميع مفاتيح SSH، خاصة على الأنظمة الحرجة.
  • مراجعة الوصول إلى ملفات حساسة مثل /etc/shadow.
  • مراقبة استخدام غير طبيعي لعمليات ptrace أو system calls ذات صلة بـ pidfd.
  • قيود الوصول المحلي قدر الإمكان، حيث يتطلب الاستغلال وجود محلي.

بسبب وجود برهان مفهوم (PoC) علني على GitHub، يزداد احتمال الاستغلال النشط في العالم الحقيقي. وهذا يرفع من إلحاح التصحيح بشكل كبير. مع كون SSH العمود الفقري للوصول الآمن عبر بيئات السحابة والشركات، فإن تعرض مفاتيح الخاصة يمثل خطرًا عالي التأثير لا يمكن تجاهله.

إرسال تعليق