
كاشف وإثبات مفهوم لتصعيد الامتيازات المحلية لثغرة الكتابة الخدشية في ذاكرة التخزين المؤقت للصفحات في Linux algif_aead (CVE-2026-31431). يتضمن اختبارًا غير مدمر واستغلالًا يقلب UID إلى 0 في ذاكرة التخزين المؤقت للصفحات في /etc/passwd.
المؤلف: byt3l0rd
كاشف وإثبات مفهوم لتصعيد الامتيازات المحلية (LPE) لثغرة الكتابة الخادشة في ذاكرة التخزين المؤقت للصفحات في Linux algif_aead /
authencesn التي تم الكشف عنها في 2026-04-29.
التقرير التقني للكشف: https://xint.io/blog/copy-fail-linux-distributions
استخدم فقط على الأجهزة التي تملكها أو التي لديك تفويض صريح لاختبارها. تقنية LPE تعدّل حالة الذاكرة (ذاكرة التخزين المؤقت للصفحات) لكنها تصعيد حقيقي للامتيازات — تشغيلها على أنظمة دون تصريح غير قانوني في معظم الدول.
algif_aead ينفّذ عمليات AEAD في المكان (req->src == req->dst).
عندما يتم إدخال البيانات المصدر عبر splice() من ملف عادي، فإن
قائمة التشتت الوجهة تحتوي على مراجع لصفحات ذاكرة التخزين المؤقت للملف — أي أن النواة ستكتب فيها. ثم يقوم خوارزم
authencesn(hmac(sha256), cbc(aes)) بكتابة "خادشة" بحجم 4 بايت
لحقل seqno_lo الخاص بـ AAD (البايتات 4–7 من AAD المقدَّم عبر sendmsg) في تلك الوجهة، مما يفسد نسخة ذاكرة التخزين المؤقت للملف.
نظرًا لأن الملف على القرص لا يُعدَّل أبدًا، فلا توجد بصمة على القرص؛
الفساد يُلاحَظ فقط من قبل القرّاء الذين يشاركون ذاكرة التخزين المؤقت للصفحات. /etc/passwd و /usr/bin/su كلاهما قابلان للقراءة عالميًا، لذا
يمكن لمستخدم محلي غير مميز إفساد عرض النواة الحالي لأي منهما.
المتأثرة: النوى التي تحمل الالتزام 72548b093ee3 (AEAD في المكان، 2017)
دون التراجع المنبع. أكّد الكشف تأثيره على Ubuntu 24.04 LTS،
Amazon Linux 2023، RHEL 14.3، و SUSE 16، لكن الأساس الكامن يسبق هذا النطاق.
| الملف | الغرض |
|---|---|
test_cve_2026_31431.py | كاشف غير مدمر. يعمل على ملف حارس في مجلد مؤقت؛ لا يلمس أبدًا ملفات النظام الثنائية. |
exploit_cve_2026_31431.py | LPE. يقلب UID المستخدم الحالي إلى 0 في ذاكرة التخزين المؤقت لـ /etc/passwd، ثم يستدعي su للحصول على قشرة جذر. |
كلا السكربتين بلغة Python 3.10+ نقية من المكتبة القياسية.
# 1. الكشف
python3 test_cve_2026_31431.py
# رمز الخروج 0 = غير معرض، 2 = معرض، 1 = خطأ في الاختبار
# 2. الاستغلال (تفاعلي — سيطالبك su بكلمة مرورك الخاصة)
python3 exploit_cve_2026_31431.py --shell