فشل النسخ: ثغرة أمنية في نظام لينكس تفتح الباب أمام المستخدم الجذر

  • يُعد فشل النسخ (CVE-2026-31431) ثغرة أمنية محلية لرفع الامتيازات موجودة في نواة لينكس منذ عام 2017.
  • يسمح هذا للمستخدم غير المميز بكتابة 4 بايتات إلى ذاكرة التخزين المؤقت للصفحات لأي ملف قابل للقراءة والحصول على صلاحيات الجذر.
  • تؤثر هذه الثغرة الأمنية على جميع التوزيعات الحديثة تقريبًا (Ubuntu وRHEL وSUSE وAmazon Linux وWSL2 والبيئات المعبأة في حاويات).
  • يتضمن التخفيف تحديث النواة وتعطيل وحدة algif_aead مؤقتًا أو حظر AF_ALG.

فشل النسخ

اكتشف مجتمع الأمن السيبراني ثغرة بالغة الخطورة في صميم نظام التشغيل لينكس. وهي... فشل النسخ، مسجلة تحت رقم CVE-2026-31431، وهي ثغرة أمنية لم يلاحظها أحد لسنوات وتسمح لأي مستخدم محلي بدون امتيازات بالسيطرة الكاملة على الجهاز.

هذا الحكم، الذي يؤثر تستخدم جميع توزيعات لينكس الحديثة تقريبًاأثارت هذه الثغرة الأمنية مخاوف لدى مديري الأنظمة ومزودي الخدمات السحابية وخبراء الأمن. فبساطتها وسهولة نقلها وصعوبة اكتشافها تجعلها من أخطر ثغرات تصعيد الامتيازات المحلية في الآونة الأخيرة.

ما هو فشل النسخ (CVE-2026-31431) ولماذا هو خطير للغاية؟

فشل النسخ (CVE-2026-31431) هو ثغرة أمنية في رفع الامتيازات المحلية (LPE) يُمكّن هذا المستخدم الذي يتمتع بصلاحيات وصول أساسية إلى الجهاز - سواءً كان حساب نظام عاديًا، أو عملية تطبيق، أو حتى مستخدمًا داخل حاوية Docker أو Kubernetes - من أن يصبح مستخدمًا رئيسيًا (root). لا يُشترط الوصول المباشر عن بُعد؛ يكفي ببساطة القدرة على تنفيذ التعليمات البرمجية على النظام.

توجد هذه الثغرة الأمنية في نواة لينكس منذ عام 2017، وتؤثر على جميع الإصدارات التي تم تجميعها بين ذلك العام وتطبيق التصحيح الرسمي. وهذا يعني أن التوزيعات المستخدمة على نطاق واسع كما أوبونتوDebian و SUSE و Red Hat Enterprise Linux (RHEL) و Amazon Linux أو إصدارات معينة من WSL2 هي أو كانت ضمن نطاق المشكلة، خاصة على الخوادم المشتركة وبيئات CI/CD والسحابات العامة.

لا يكمن الخطر في إمكانية استغلالها عن بعد من العدم، بل في ذلك أي فشل سابق يسمح بتنفيذ التعليمات البرمجيةيمكن دمج موقع ويب ضعيف، أو بيانات اعتماد مسروقة، أو موظف داخلي خبيث مع Copy Fail للتصعيد إلى الجذر باستخدام ثغرة صغيرة وموثوقة للغاية.

أصل الخلل المعروف باسم فشل النسخ: تغيير "بريء" في عام 2017

يمكن تتبع الجذور التقنية لمشكلة فشل النسخ إلى... التغيير الذي تم إدخاله في نواة النظام في عام 2017تم تحديدها في تحليلات مختلفة على أنها عملية التحديث التي أضافت عمليات "في مكانها" لبعض وظائف التشفير في الوحدة النمطية algif_aeadكان الهدف من هذا التعديل هو تحسين أداء النظام الفرعي للتشفير، ولكنه أدخل خطأً منطقياً في معالجة المخزن المؤقت.

تعتمد الوحدة المتأثرة على القالب التشفيري authencesn، الذي يجمع بين HMAC-SHA256 وتشفير AES-CBCفي هذا السياق، تستخدم الخوارزمية جزءًا من الذاكرة المخصصة كمساحة عمل مؤقتة. تكمن المشكلة في أنها، أثناء العملية، تكتب 4 بايتات خارج حدود المخزن المؤقت المتوقعة، مباشرةً فوق صفحة في ذاكرة التخزين المؤقت للملفات في النظام.

هذا الفائض الصغير والمتحكم فيه يكفي للمهاجم لـ قم بتعديل 4 بايتات محددة من ذاكرة التخزين المؤقت للصفحة لأي ملف قابل للقراءة، بما في ذلك الملفات الثنائية التي تحمل علامة setuid التي تعمل بصلاحيات المستخدم المتميز، مثل /usr/bin/su o sudoالنقطة الحاسمة هي أن التعديل يحدث فقط في الذاكرة وليس في الملف المخزن على القرص.

كيف يعمل فشل النسخ: 4 بايتات تُغير كل شيء

تعتمد الثغرة الأمنية على عنصرين أساسيين في نواة النظام: واجهة التشفير AF_ALG واستدعاء النظام splice()يسمح AF_ALG لعمليات مساحة المستخدم بالوصول إلى النظام الفرعي للتشفير الخاص بالنواة دون امتيازات خاصة، وهو أمر يتم تمكينه افتراضيًا في جميع التوزيعات تقريبًا.

الثغرة الأمنية، التي تم إثبات مفهومها الأصلي، حوالي 732 بايت من كود بايثون وحوالي عشرة أسطريقوم بفتح منفذ AF_ALG وربطه بوضع AEAD المعرض للاختراق. ثم يستخدم splice() لربط الصفحات مباشرة من ذاكرة التخزين المؤقت للملفات (على سبيل المثال، الصفحات الثنائية) /usr/bin/su) ضمن بنية البيانات التي سيستخدمها النواة كهدف لعملية التشفير.

أثناء عملية التشفير، تقوم الخوارزمية authencesn استخدم مخزن الإخراج كمساحة مؤقتة ويقوم المهاجم بكتابة 4 بايتات خارج النطاق المتوقع. في هذه الحالة، تقع عملية الكتابة هذه على صفحة ذاكرة التخزين المؤقت للملف المُختار. ويتحكم المهاجم في موقع (إزاحة) وقيمة هذه البايتات الأربعة باستخدام معلمات الطلب وبيانات المصادقة الإضافية (AAD).

بتكرار العملية عدة مرات حسب الحاجة، من الممكن الذهاب عن طريق حقن أجزاء صغيرة من الشيفرة الخبيثة أو تعديل التعليمات الهامة داخل نسخة الذاكرة من الملف الثنائي مع setuidعندما يتم تشغيل البرنامج أخيرًا (على سبيل المثال، مع execve("/usr/bin/su");) يقوم النظام بتحميل المحتوى من ذاكرة التخزين المؤقت بدلاً من القرص، وبالتالي يقوم بتنفيذ الكود المعدل بصلاحيات الجذر.

هجوم خفي: تغييرات في الذاكرة، وملفات تبقى سليمة على القرص

من أكثر السمات المقلقة في Copy Fail هو أن لا يُعلِّم التلف الملف بأنه مُعدَّل.لا يتم تصنيف ذاكرة التخزين المؤقت للصفحات المعدلة على أنها "غير نظيفة"، لذا لا يقوم نظام التشغيل بكتابة هذه التغييرات مرة أخرى إلى القرص. يبقى الملف الثنائي المخزن فعليًا سليمًا ويجتاز جميع فحوصات السلامة المستندة إلى الملف المخزن دون أي مشكلة.

هذا يعني أن، بعد إعادة تشغيل النظام أو عند إجبار الملف على إعادة التحميل من القرص (بسبب ضغط الذاكرة أو ظروف أخرى)، يختفي أثر الاختراق. ولا يبقى التعديل في ذاكرة الوصول العشوائي (RAM) إلا أثناء استخدام صفحة التخزين المؤقت، مما يُعقّد عملية الكشف الجنائي بعد الهجوم بشكل كبير.

علاوة على ذلك، تستخدم الثغرة الأمنية استدعاءات نظام مشروعة تمامًا. كما socket() باستخدام AF_ALG، splice() y execve() من الثنائيات المعتادة، والتي تندمج بسلاسة مع نشاط النظام العادي. لا توجد حالات تنافس معقدة أو حاجة لتخمين عناوين الذاكرة، مما يقلل من التعقيد التقني المطلوب لاستغلالها.

تأثير فشل النسخ على الخوادم والحوسبة السحابية والحاويات

إن نطاق فشل النسخ يتجاوز بكثير مجرد جهاز معزول. يتم مشاركة ذاكرة التخزين المؤقت لصفحات النواة بين جميع العمليات بالنسبة للنظام، فإن الفشل يكسر حواجز العزل النموذجية للتقنيات مثل Docker أو LXC أو Kubernetes طالما أن الوحدة المتأثرة موجودة في نواة المضيف.

في سيناريو استضافة مواقع الويب النموذجي، يمكن لعميل واحد يستغل ثغرة أمنية بسيطة في تطبيقه الخاص أن الاعتماد على فشل النسخ لاختراق الخادم المادي بأكمله والوصول إلى بيانات أو أنظمة عملاء آخرين مُستضافة على نفس الجهاز. ويحدث شيء مماثل في بيئات التكامل المستمر/التسليم المستمر المشتركة والحوسبة السحابية العامة، حيث تعمل أحمال عمل متعددة غير موثوقة على نفس المضيف.

في مراكز البيانات الحيوية، بما في ذلك البنوك وشركات الاتصالات ومزودي الخدمات السحابية الذين يستخدمون نظام لينكس كأساستُعرّض هذه الثغرة الأمنية الفصل بين الحاويات والمضيف نفسه للخطر. قد يتمكن مستخدمٌ يبدو أنه مُقيّدٌ بوحدة Kubernetes واحدة من السيطرة على العقدة، وبالتالي على المجموعة بأكملها، إذا لم تُطبّق الإجراءات الصحيحة.

التوزيعات المتأثرة وشدة التأثير

تشير التحليلات التي نشرتها شركات أمنية مختلفة إلى أن تأثرت جميع توزيعات لينكس التي تم تجميعها من عام 2017 حتى تم إصلاح الخلل تقريبًا. تكون هذه الوحدات عرضة للخطر إذا تضمنت الوحدة النمطية algif_aead وتم تفعيل واجهة AF_ALG. وتشمل هذه الأنظمة أوبونتو، وRHEL، وSUSE، وAmazon Linux، وديبيان، وبعض إصدارات WSL2 التي تستخدم نواة تدعم AF_ALG.

الأنظمة الأكثر عرضة للخطر هي تلك التي إنهم يستخدمون أنوية ضمن النطاق المتأثر دون تحديثات أمنية حديثة.تنتشر هذه الثغرة الأمنية بشكل خاص على الخوادم متعددة المستخدمين، والاستضافة المشتركة، والمنصات التي يتشارك فيها عدة عملاء جهازًا فعليًا واحدًا. وقد حصلت على درجة 7,8 من 10 في نظام CVSS، مما يصنفها ضمن فئة "الخطورة العالية".

وقد استجاب المصنعون والموزعون بسرعات متفاوتة. أصدرت أنظمة Debian وUbuntu وSUSE تحديثات بسرعة.قام موردون آخرون، مثل ريد هات، بتأخير إصدار التصحيح في البداية، على الرغم من أنهم انضموا في النهاية في غضون ساعات بسبب ضغط المجتمع وحجم المشكلة.

دور الذكاء الاصطناعي في الاكتشاف

من أبرز جوانب قضية Copy Fail ما يلي: ظل الأمر غير مكتشف لما يقرب من عقد من الزمان على الرغم من المراجعات الشاملة لنواة النظامتم اكتشاف الثغرة بفضل أدوات تحليل الشفرة المدعومة بالذكاء الاصطناعي والتي تستخدمها فرق أبحاث الأمن مثل Xint Code و Theori.

استخدم الباحثون حلول المسح الآلي المدعومة بالذكاء الاصطناعي والتي تراجع التعليمات البرمجية سطرًا بسطر يبحثون عن أنماط سلوكية شاذة في أنظمة فرعية معقدة مثل التشفير. وقد مكّنهم هذا النهج من تحديد الخلل المنطقي في النموذج. authencesn وبالطريقة التي تم بها دمجها مع AF_ALG والتحسينات التي تم إدخالها في عام 2017.

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

إجراءات عاجلة للتخفيف من الأضرار وإصلاحها

الإجابة التي أوصى بها الخبراء واضحة: قم بتحديث نواة لينكس إلى إصدار يتضمن التصحيح المقابل.التغيير الرئيسي، الذي تم تحديده في فروع النواة المستقرة باسم الالتزام a664bf3d603dيُصحح هذا التحديث عملية التحقق من صحة المخزن المؤقت في عمليات التشفير "الموضعية" الخاصة بالوحدة. algif_aead ويعكس هذا التحسين الإشكالي الذي تم إدخاله قبل سنوات.

في بيئات الإنتاج حيث قد لا يكون من الممكن إعادة التشغيل والتحديث فوراً. (على سبيل المثال، في مراكز البيانات التي تقدم خدمات حيوية على مدار الساعة طوال أيام الأسبوع)، يُوصى باتخاذ تدابير مؤقتة. وتشمل هذه التدابير تعطيل تحميل الوحدة النمطية المعرضة للخطر عن طريق إضافة قواعد إلى تكوين modprobeكيفية الربط algif_aead (أو في بعض الحالات AF_ALG) إلى ملف تنفيذي غير ضار لمنع استخدامه وتنزيل الوحدة النمطية مع rmmod إذا كان قد تم تحميله بالفعل.

وقد اقترح بعض الموردين، بالنسبة للبيئات عالية المخاطر، قم بحظر واجهة التشفير AF_ALG بشكل كامل من خلال الملفات الشخصية seccomp أو سياسات تحصين أخرى. هذا الإجراء أكثر صرامة وقد يؤثر على التطبيقات المشروعة التي تعتمد على واجهة برمجة التطبيقات هذه، لذا ينبغي تقييمه بعناية في كل مؤسسة.

في حالة استخدام إصدارات معينة من أوبونتو، تم تعميم أمثلة التكوين لـ قم بتعطيل الوحدات النمطية ذات الصلة حتى يتوفر التحديث الرسمي.والتي تشمل قواعد modprobe.d وأوامر للتحقق من حالة CVE باستخدام أدوات النظام، مثل sudo pro fix CVE-2026-31431.

كيفية اكتشاف محاولات الاستغلال على أنظمة لينكس

على الرغم من إصلاح الثغرة الأمنية، فإن العديد من المؤسسات ترغب في ذلك. تحقق مما إذا كانوا قد تعرضوا لمحاولات استغلال أو إنشاء أنظمة إنذار مبكر. وقد نشرت بعض شركات الأمن أدلة مفصلة للكشف عن السلوك المشبوه المتعلق بفشل النسخ، وذلك من خلال auditd مثل حلول SIEM.

أحد الأساليب المقترحة يتكون من مراقبة عمليات قراءة الملفات الثنائية باستخدام setuid (مثل su, sudo, passwd, gpasswd, newgrp, chfn, chsh, mount, umount, fusermount3إلخ.) عندما يتم تنفيذها من عمليات لا تقع في المسارات المعتادة مثل /usr/bin o /binأو عندما تكون عملية الاستدعاء عبارة عن مترجم مثل بايثون.

يوصى أيضاً بالمراقبة استخدام المكالمة splice() بواسطة مستخدمين غير مميزين مباشرة بعد قراءة أحد هذه الملفات الثنائية مع setuidبالإضافة إلى إنشاء المقابس باستخدام المعلمة SOCK_STREAM المرتبطة AF_ALG (القيمة العشرية 26) من معرفات المستخدم للجلسة التفاعلية (معرفات المستخدم أكبر من أو تساوي 1000).

ومن العلامات التحذيرية الأخرى ظهور سلاسل أوامر من النوع sh -c -- su أو تركيبات أخرى حيث يقوم برنامج بايثون بتشغيل واجهة سطر الأوامر تنفيذ ملفات تنفيذية ذات صلاحيات مميزة دون مبرر واضح في البيئة الخاضعة للمراقبة. تتضمن حلول الكشف والاستجابة المتقدمة، مثل Kaspersky EDR Expert، قواعد محددة (على سبيل المثال، possible_lpe_by_python o possible_copy_fail_cve_2026_31431) لتحديد هذه الأنماط.

الكشف باستخدام نظام إدارة معلومات الأمان والأحداث (SIEM) وأدوات الأمان المتقدمة

في المنظمات ذات البنى التحتية المعقدة، وخاصة في القطاعات المالية أو الصناعية أو الإدارية العامة، يُعد استخدام منصات SIEM أمرًا أساسيًا لمركزية أحداث الأمان فيما يتعلق بفشل النسخ. وقد نشرت الشركات المصنعة قواعد نموذجية. auditd التي تسمح بتسجيل المكالمات ذات الصلة.

تتضمن التوصيات قواعد لـ مراقبة استخدام splice() بواسطة مستخدمين غير جذريين عند التعامل مع واصفات الملفات المرتبطة بالملفات الثنائية مع setuidبالإضافة إلى إنشاء مقابس AF_ALG عن طريق تحديد المعلمة المقابلة بالنظام العشري. يمكن ربط هذه الأحداث في نظام إدارة معلومات الأمان (SIEM) لإصدار تنبيهات عند اكتشاف تسلسلات مشبوهة.

بالإضافة إلى القواعد القائمة على استدعاءات النظام، يتم التركيز على مراقبة التغييرات الشاذة في معرفات المستخدمين (UIDs) ضمن نفس سلسلة العمليات، خاصة عندما ترث عملية فرعية امتيازات أكثر من المتوقع دون أي وسيط setuid أو دعوة صريحة إلى sudoيمكن أن تساعد هذه المراقبة في اكتشاف ليس فقط فشل النسخ، ولكن أيضًا أنواع أخرى من نقاط الضعف المحلية التي تؤدي إلى التصعيد.

يقوم مزودو خدمات الأمن بتكييف منتجاتهم لمراعاة ذلك تتوفر الآن نسخ جديدة من الثغرة في لغات مثل Go أو Rust.مما قد يؤدي إلى تغيير طفيف في تسلسل استدعاءات النظام ومحاولة التهرب من عمليات الكشف الأساسية.

فشل النسخ مقابل ثغرات نواة لينكس السابقة

في تاريخ نواة لينكس الحديث، ظهرت ثغرات أمنية أخرى لرفع مستوى الامتيازات، والتي استغلت أيضًا ذاكرة التخزين المؤقت للصفحات، مثل: بقرة قذرة أو أنبوب قذريعتبر Copy Fail "قريبًا" من حيث نوع البدائيات التي يقدمها للمهاجم، ولكنه يعمل في نظام فرعي مختلف وبنهج مختلف إلى حد ما.

بينما كانت الثغرات الأمنية السابقة لقد سمحوا بالكتابة فوق البيانات في الملفات التي يُفترض أنها للقراءة فقط. للوصول إلى تعديل الملفات الحساسة على القرص، يركز برنامج Copy Fail على إتلاف النسخة الموجودة في الذاكرة من خلال المسار التشفيري للنواة، دون الحاجة إلى تغيير الملف فعليًا.

هذا الاختلاف يجعل عملية النسخ تفشل بشكل خاص جذاب من حيث التخفي وسهولة الحملالثغرة الأمنية صغيرة، وتعمل على بنى معمارية وتوزيعات متعددة، ولا تعتمد على حالات التزامن، وتعتمد على واجهات يتم تفعيلها افتراضيًا عادةً، مثل AF_ALG. بالنسبة للمهاجم، يُترجم هذا إلى أداة ملائمة جدًا لدمجها في سلاسل استغلال أكبر.

توصيات للشركات والمسؤولين

بالنسبة للمؤسسات التي تعتمد بشكل كبير على نظام لينكس، تتضمن خارطة الطريق الجمع بين الإجراءات التقنية الفورية ومراجعة أكثر استراتيجية لوضعها الأمني.

على المدى القصير، يُنصح جرد جميع أنظمة لينكس المستخدمة في الإنتاجتحقق من إصدار النواة وقم بتطبيق أي تصحيحات متوفرة من التوزيعة المعنية. في حال كانت عملية إعادة التشغيل معقدة، ينبغي إعطاء الأولوية للبيئات الأكثر عرضة للخطر، مثل الخوادم المتصلة بالإنترنت، والمنصات متعددة المستخدمين، وعُقد Kubernetes التي تُشغّل أحمال عمل غير موثوقة.

كإجراء تكميلي، يُوصى به مراجعة سياسات الحاويات لتقييد الوصول إلى واجهات النواة مثل AF_ALG عندما لا يكون ذلك ضروريًا للغاية، قم بتشديد ملفات تعريف الأمان (على سبيل المثال، مع seccomp أو AppArmor/SELinux) وتقليل عدد الملفات الثنائية باستخدام setuid في الأنظمة.

بالتوازي مع ذلك، يُنصح بأن تقوم فرق الأمن قم بتحديث قواعد المراقبة والتنبيه الخاصة بك للكشف عن أنماط الهجوم المتوافقة مع Copy Fail، وكذلك لإجراء اختبارات داخلية باستخدام أدوات التحقق العامة التي نشرها الباحثون، دائمًا ضمن بيئات خاضعة للرقابة ووفقًا للسياسات الداخلية لكل منظمة.

لقد أوضحت Copy Fail أنه حتى في بيئة خضعت لمراجعة شاملة مثل نواة لينكس، قد يبقى خلل منطقي صغير مخفياً لسنوات ويصبح مصدر إزعاج كبير. بالنسبة للشركات والوكالات الحكومية في جميع أنحاء العالم، فإن الجمع بين التحديثات السريعة، وتدابير التخفيف المصممة جيدًا، والمراقبة المحسنة، والاستخدام المتزايد لأدوات التحليل المدعومة بالذكاء الاصطناعي، يبرز كأفضل طريقة لإدارة نقاط الضعف هذه دون التخلي عن حذرنا.

حساسية
المادة ذات الصلة:
تم العثور على ثغرة أمنية في نظام Linux kernel tty الفرعي

أضف كمصدر مفضل