
استغلال لثغرة CVE-2026-31431، وهي ثغرة أمنية في نواة لينكس (authencesn) تتيح تصعيد الامتيازات المحلية إلى صلاحيات الجذر (root) والهروب من الحاويات عبر AF_ALG وsplice().
في عام 2017، أُدخلت في وحدة التشفير authencesn بنواة لينكس تحسينًا موضعيًا (in-place) لعمليات AEAD (التشفير المصادق عليه)، مما أدى إلى أنه في ظل ظروف معينة، يمكن وضع صفحات للقراءة فقط من ذاكرة التخزين المؤقت للصفحات (page cache) بشكل خاطئ في قائمة تشتت (scatterlist) قابلة للكتابة. من خلال واجهة برمجة التشفير بالنواة المكشوفة عبر مقابس AF_ALG، وبالاستعانة باستدعاء النظام splice()، يستغل المهاجم هذا الخلل المنطقي لتحقيق كتابة عشوائية من 4 بايت في ذاكرة التخزين المؤقت للصفحات الخاصة بالملفات الثنائية ذات setuid (مثل /usr/bin/su)، مما يتيح العبث بمنطق البرنامج والحصول على صلاحيات root.
عملية الاستغلال بأكملها خطية المنطق، ولا تتطلب نافذة سباق (race window)، ولا إزاحات خاصة بالنواة، ولا تتطلب تثبيت أي أدوات خاصة مسبقًا.
رفع الصلاحيات محليًا إلى root: يمكن لأي حساب مستخدم محلي عادي رفع صلاحياته إلى root دون قيد أو شرط.
الهروب من الحاويات: في بيئات Kubernetes / الحاويات، تكون ذاكرة التخزين المؤقت للصفحات مشتركة مع المضيف، ويمكن للمهاجم داخل الحاوية اختراق حدود الحاوية وتهديد العقدة المضيفة والمستأجرين الآخرين على نفس العقدة.
اختراق بيئات CI/CD: في بيئات CI التي تنفذ تعليمات برمجية غير موثوقة مثل GitHub Actions وGitLab Runner وJenkins Agent، يمكن للمهاجم عبر طلب سحب (PR) خبيث الحصول مباشرة على صلاحيات root على الجهاز المضيف لـ Runner.
بيئات السحابة متعددة المستأجرين: في الخدمات السحابية التي تنفذ تعليمات المستخدم مثل Notebook وServerless وAgent sandbox، يمكن للمستأجر رفع صلاحياته إلى root على المضيف.
استمرار الثغرة لنحو عقد من الزمن: أُدخلت الشيفرة المعيبة في عام 2017، وجميع توزيعات لينكس منذ ذلك الحين متأثرة.
جميع إصدارات نواة لينكس المبنية من عام 2017 حتى صدور التصحيح، وتشمل:
قم بالترقية إلى إصدار نواة يتضمن الالتزام الرئيسي a664bf3d603d، وتقوم التوزيعات الرئيسية بإصدار إصدارات مُصلحة تباعًا:
# Ubuntu / Debian
apt update && apt upgrade linux-image-$(uname -r)
# RHEL / CentOS / Rocky / Alma
dnf update kernel
# Amazon Linux
yum update kernel
# SUSE
zypper update kernel-default
بعد الترقية، أعد تشغيل النظام لتفعيل النواة الجديدة، وتحقق من تضمين التصحيح عبر الأمر التالي:
grep -r "a664bf3d603d" /proc/version 2>/dev/null || uname -r
# تحقق من تضمين التصحيح أو قارن رقم إصدار التصحيح في الإعلان الرسمي للتوزيعة
يمكن تعطيل وحدة النواة algif_aead لقطع مسار استغلال الثغرة:
# التعطيل الدائم (يسري بعد إعادة التشغيل)
echo "install algif_aead /bin/false" > /etc/modprobe.d/disable-algif.conf
# الإزالة الفورية (تسري للجلسة الحالية)
rmmod algif_aead 2>/dev/null || true
تقييم تأثير تعطيل algif_aead:
لا يتأثر: dm-crypt/LUKS وkTLS وIPsec/XFRM وOpenSSL/GnuTLS/NSS في البناء الافتراضي وSSH وتشفير حلقات المفاتيح بالنواة — هذه المكونات تستخدم واجهة برمجة التشفير بالنواة مباشرة ولا تمر عبر AF_ALG.
قد يتأثر: OpenSSL مع تمكين محرك afalg بشكل صريح، وبعض مسارات تفريغ التشفير المدمجة، والتطبيقات المرتبطة مباشرة بمقابس aead/skcipher/hash. يمكنك التحقق مما إذا كانت هناك عمليات تستخدم AF_ALG على النظام الحالي عبر lsof | grep AF_ALG أو ss -xa.
| التوزيعة | إصدار النواة المتأثر |
| Ubuntu 24.04 LTS | 6.17.0-1007-aws وما دون |
| Amazon Linux 2023 | 6.18.8-9.213.amzn2023 وما دون |
| RHEL 14.3 | 6.12.0-124.45.1.el10_1 وما دون |
| SUSE 16 | 6.12.0-160000.9-default وما دون |
| Debian / Arch / Fedora / Rocky / Alma / Oracle | إصدارات النواة في نفس الفترة متأثرة جميعها |