لينكس سبعة فاصل اثنان يضيف علامة لمنع الخداع بالملفات الخاصة

2026 May 21 نُشر | مترجم من الإسبانية

سيحتوي الإصدار القادم من نواة لينكس، الإصدار 7.2، على العلامة OPENAT2_REGULAR لاستدعاء النظام openat2. تتيح هذه الوظيفة للبرامج التأكد من أنها تفتح الملفات العادية فقط، مما يمنع إعادة توجيهها إلى الأجهزة الخاصة مثل /dev/null أو FIFOs، والتي يمكن أن تسبب سلوكيات حظر غير متوقعة وثغرات أمنية.

عملية تجميع نواة لينكس، محطة مبرمج تعرض استدعاء النظام openat2 مع تمييز العلامة OPENAT2_REGULAR باللون الأخضر، سلسلة رمزية تمثل إعادة توجيه الملفات يتم كسرها بواسطة أيقونة درع، عقدة FIFO ضارة وجهاز /dev/null معروضان كمسارات محظورة بعلامات X حمراء، أيقونة ملف عادي مع علامة اختيار متوهجة، نمط توضيحي تقني، خلفية محطة داكنة مع مطر شيفرة يشبه المصفوفة، إضاءة دراماتيكية باللونين الأزرق والبرتقالي، آثار دوائر إلكترونية فائقة التفاصيل في الخلفية، تصور هندسي فوتوغرافي واقعي

كيف تعمل OPENAT2_REGULAR في النواة 🛡️

تعمل العلامة OPENAT2_REGULAR كمرشح في استدعاء openat2. عند تفعيلها، تتحقق النواة من أن الملف الهدف هو من النوع العادي (S_IFREG) قبل السماح بفتحه. إذا كان الملف جهاز كتلة، أو FIFO، أو مقبس، تفشل العملية مع الخطأ EISDIR أو EPERM. يحدث هذا التحقق بعد حل الروابط الرمزية، مما يغلق الطريق أمام الهجمات التي تستخدم الروابط للإشارة إلى الأجهزة الخاصة. تم طلب هذا التنفيذ من قبل مجموعة UAPI لحماية التطبيقات التي تعالج ملفات المستخدم.

وداعًا للمفاجآت مع /dev/null وFIFOs المشاغبة 😅

حتى الآن، كان بإمكان برنامج واثق فتح ملف ليجد أنه FIFO يتركه في انتظار البيانات إلى الأبد، أو الأسوأ من ذلك، /dev/null يبتلع كل مخرجاته دون اعتراض. مع OPENAT2_REGULAR، تنتهي هذه المفاجآت: إذا لم يكن الملف عاديًا، ترفض النواة الأمر ويوفر المطور ساعات من التصحيح. الأمر أشبه بوضع مرشح على مدخل القرص بحيث لا يمر سوى الملفات الحقيقية، وليس الأقنعة التنكرية.