CVE-2026-31431 (يُطلق عليها اسم “Copy Fail”) هي ثغرة أمنية يمكن استغلالها بسهولة في Linux kernel والتي تسمح بالتصعيد من حساب مستخدم محلي غير مميز إلى الوصول إلى الجذر. تم اكتشاف الثغرة الأمنية بواسطة Xint، وتؤثر على جميع إصدارات Linux kernel تقريبًا منذ عام 2017. وعلى الرغم من توفر الإصلاح، إلا أن العديد من توزيعات Linux لم تصدر تصحيحات حتى الآن اعتبارًا من الأول من مايو.

كما هو موضح بواسطة Xint، “يمكن للمستخدم المحلي الذي لا يتمتع بالامتيازات كتابة 4 بايتات يتم التحكم فيها في ذاكرة التخزين المؤقت للصفحة لأي ملف قابل للقراءة على نظام Linux، واستخدام ذلك للحصول على الجذر.”

تنبع الثغرة الأمنية من خلل منطقي في تنفيذ تشفير AEAD الخاص بنواة Linux (algif_aead)، حيث تسمح المعالجة غير الصحيحة لقوائم التجميع المبعثرة بالكتابة خارج الحدود المقصودة. من خلال ربط هذا الخلل بـ AF_ALG مآخذ و splice()، يمكن للمهاجم الكتابة فوق 4 بايت في ذاكرة التخزين المؤقت للصفحة لأي ملف قابل للقراءة، بما في ذلك setuid الثنائيات.

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

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

إصدارات Linux kernel التي تم إنشاؤها بين عام 2017 وإصدار التصحيح (2026).

حالة التصحيح

ما يلي هو الوضع الحالي اعتبارًا من 1 مايو 2026، الساعة 9 صباحًا بالتوقيت العالمي المنسق، ولكن توزيعات Linux تُصدر تصحيحات جديدة بسرعة:

توزيع الدولة الحالية ملحوظات
أوبونتو غير مصححة (في الغالب) لا توجد حبات ثابتة تم إصدارها على نطاق واسع؛ تظل إصدارات LTS عرضة للخطر
ديبيان (sid / غير مستقر) مصححة الإصلاح متاح في أحدث حزم النواة
ديبيان (شوكي) مصححة يتضمن إصدارات النواة الثابتة
دبيان (مستقر / دودة الكتب) غير مصححة لا يوجد backport مؤكد حتى الآن
دبيان (اختبار / تريكسي) التصحيح قيد التقدم التحديثات غير متسقة عبر الإصدارات حتى الآن
هيل (8 / 9) التصحيح قيد التقدم الطرح التدريجي للإصلاحات backported
فيدورا التصحيح قيد التقدم من المحتمل أن تتضمن النوى الأحدث إصلاحًا
سوس / SLES التصحيح قيد التقدم تعتمد التحديثات على حزمة الخدمة
أمازون لينكس التصحيح قيد التقدم يتم طرح تحديثات Kernel
CloudLinux غير مصححة التصحيح لم يصدر بعد
آرتش لينكس مصححة على الأرجح يتتبع الإصدار المتداول المنبع عن كثب
نواة لينكس المنبع مُثَبَّت تم دمج التصحيح؛ المستخدمة من قبل backports المصب

الفرز

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

  2. للحصول على فرز أكثر تحديدًا، يجب على المدافعين الاستفادة من السياق مثل ما إذا كان المضيف الأساسي يحتوي على أسرار حساسة أو يتمتع بامتيازات عالية في البيئة.

العلاج

قم بالتحديث إلى إصدار kernel الذي يتضمن الإصلاح (الالتزام الرئيسي a664bf3d603d).

بدلاً من ذلك، أو حتى تتوفر التصحيحات لتوزيعك، قم بتطبيق عمليات التخفيف المؤقتة التالية (لاحظ أن هذه الطرق ليست فعالة بنفس القدر في جميع التوزيعات):

echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf
rmmod algif_aead

كشف الاستغلال

لاحظ أن طرق الكشف المعروفة حاليًا قد تكون متحيزة بشكل مفرط نحو إظهار السلوك الذي أظهرته برمجيات استغلال نقاط الضعف (POC) المبكرة، ومع ظهور أبحاث جديدة، من المرجح أن تتبنى الجهات الفاعلة في مجال التهديد برامج استغلال جديدة تتهرب من هذه الأساليب الأولية. لذلك، هذا القسم غير مكتمل حاليًا، وسنقوم بتحديث هذه المدونة بمعلومات إضافية عند ظهورها ومع تقدم أبحاثنا.

اعتبارًا من الآن، تم تحديد المؤشرات التالية للكشف عن الاستغلال في أنظمة معينة (ولكن كما ذكرنا أعلاه، قد لا تكتشف جميع المتغيرات):

  1. ربط AF_ALG التحميل بإشارات مشبوهة أخرى: يؤدي الاستغلال باستخدام إثباتات المفهوم (POC) المعروفة حاليًا إلى تشغيل الرسالة NET: Registered PF_ALG protocol family في kern.log و syslog. من الطبيعي ملاحظة هذه الرسالة أثناء التمهيد والتحميل عند الطلب بواسطة التطبيقات الشرعية، ولكن يجب أن تستدعي التحقيق عند ربطها بمؤشرات أخرى.

  2. تشغيل التنبيه curl أوامر ل https://copy.fail/exp (يخزن موقع Xint على الويب تعليمات برمجية لاستغلال POC، والتي قد يستخدمها المهاجمون غير المتسللين على الرغم من كونها واضحة).

  3. مراقبة الشاذة AF_ALG سلوك المقبس.

    1. لقد نظرنا أيضًا في مدى شيوعها AF_ALG التحميل (على أساس NET: Registered PF_ALG protocol family سجل). على الرغم من أن هذا الحدث يحدث في بيئات مشروعة، إلا أن توقيته يبدو مهمًا. يعد التحميل أثناء تمهيد النظام أمرًا شائعًا نسبيًا، ولكن التحميل عند الطلب (على سبيل المثال، أكثر من 300 ثانية بعد التمهيد) لم تتم ملاحظته إلا بعد أن أصبح CVE عامًا. يشير هذا إلى أن تأخر تحميل AF_ALG قد يكون إشارة مشبوهة أكثر. ومع ذلك، فهو ليس نهائيًا في حد ذاته، ولا يزال من الممكن أن يحدث في سيناريوهات حميدة.

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

يشير اسم المستخدم المفقود إلى أنه لا يمكن حل هوية المتصل. يتوافق هذا مع التنفيذ في util-linux، حيث يتم اشتقاق المستخدم المستدعي في وقت التشغيل وتمريره إلى روتين التسجيل؛ يمكن أن يؤدي تلف هذه الحالة إلى إدخالات سجل غير كاملة

على سبيل المثال، قارن الأسطر التالية التي تم الحصول عليها من نفس ملف السجل قبل الاستغلال وبعده:

2026-05-01T09:11:16.296455+00:00 ip-172-31-38-240 su[1765]: (to root) alice on pts/1

2026-05-01T09:14:19.993416+00:00 ip-172-31-38-240 su[1781]: (to root)  on pts/1

ويمكن أن يحدث هذا أيضًا بشكل طبيعي في ظل سيناريوهات مشروعة نادرة، ولكن بالاشتراك مع إشارات أخرى (مثل تلك المذكورة أعلاه)، يمكن أن يكون هذا التأثير بمثابة إشارة كشف محتملة بعد الاستغلال يمكن للمدافعين الاستفادة منها. لذلك نوصي بالتحقق من ذلك auth.log الإدخالات التي تحتوي على su السجلات مع اسم مستخدم استدعاء مفقود.

ومع ذلك، لا يتم ملاحظة هذا السلوك عبر جميع متغيرات الاستغلال. على سبيل المثال، قد تتلف إثباتات المفهوم (PoCs) الأكثر شيوعًا (مثل تطبيق Theori). /usr/bin/suبطريقة تمنع تنفيذ PAM/تسجيل الدخول بشكل كامل، مما يؤدي إلى عدم وجود auth.log دخول على الإطلاق بدلا من واحد تالف.
ولذلك، ينبغي التعامل مع هذه الإشارة باعتبارها إشارة انتهازية ومحددة المسار: ففي حين أنها يمكن أن توفر أدلة عالية الثقة على الاستغلال عندما تكون موجودة، فإن غيابها لا يستبعد التسوية. ومن الناحية العملية، يكون هذا الاختبار أكثر فعالية عندما يرتبط بمؤشرات إضافية بدلاً من استخدامه كاكتشاف مستقل.

يمكن لعملاء Wiz استخدام الاستعلامات والاستشارات المعدة مسبقًا في Wiz Threat Intel Center للبحث عن المثيلات ذات الصلة في بيئتهم.

شاركها.
اترك تعليقاً