OpenSSH 10.6 يغلق ثغرة كانت تسمح لخادم غير موثوق بالكتابة خارج المجلد عبر النسخ المتكرر
المغزى: الثقة في النسخ عبر الشبكة لم تكن في القناة المشفّرة بل في أسماء الملفات العائدة منها، وكل pipeline يسحب ملفات من خادم لا يديره الفريق معني بهذا الإصلاح.
صدر OpenSSH 10.6 في 6 أكتوبر 2026، ومن أبرز ما فيه إصلاح يخص النسخ المتكرر للمجلدات. فبحسب ملاحظات الإصدار، صار العميل “يتحقق بصرامة أكبر من المسارات العائدة من الخادم”، لتجنب حالات كان يستطيع فيها الخادم إعادة مسارات تدفع عملية نسخ متكرر، مثل scp -r، إلى الكتابة خارج المجلد الهدف.
والآلية تكشف موضع الخلل. فحين يطلب المستخدم نسخ مجلد كامل من خادم، فإن الخادم هو الذي يخبر العميل بأسماء الملفات التي سيرسلها. فإن كان الخادم معاديًا، يمكنه إرسال اسم ملف يتضمن صعودًا في المسار، فيكتب العميل ملفًا في موضع لم يطلبه المستخدم. أي أن الثقة لم تكن في القناة المشفرة نفسها، بل في أسماء الملفات التي تعود عبرها.
وفي الإصدار تغييرات أخرى:
- رفض الحرفين $ و\ في اسم المستخدم المكتوب في سطر الأوامر، لأن اسم مستخدم يأتي من مصدر غير موثوق قد يفتح باب shell injection. ويخص ذلك السكربتات التي تبني أوامر ssh من مدخلات خارجية.
- تفعيل التوقيع الهجين ML-DSA44-Ed25519 افتراضيًا، وهو توقيع مصمم لمقاومة الحواسيب الكمية في المستقبل.
- تعطيل الـ LZ77 dictionary coder لتقليل تسريب المعلومات عبر الـ side-channel، مع انخفاض في فاعلية الضغط نتيجة لذلك.
والأكثر تأثرًا بإصلاح المسارات هي الفرق التي تسحب ملفات البناء (artifacts) في الـ CI عبر scp من خوادم لا تديرها بنفسها. ففي هذه الحالة يكون الطرف الذي يحدد أسماء الملفات خارج سيطرة الفريق، وهو بالضبط السيناريو الذي يعالجه الإصلاح.