
توثيق وتحليل لثغرة تصعيد الامتيازات المحلية في قالب authencesn الخاص بنواة لينكس عبر AF_ALG و splice()، بما في ذلك الإصدارات المتأثرة، والكشف، والتخفيف.
تصعيد صلاحيات محلي في قالب التشفير
authencesnفي نواة لينكس عبرAF_ALG+splice().
تم الكشف عنه في 29 أبريل 2026 بواسطة Theori (Xint Code).
| الحقل | التفاصيل |
|---|---|
| CVE | CVE-2026-31431 |
| الاسم المستعار | Copy Fail |
| CVSS | 7.8 عالية |
| النوع | تصعيد صلاحيات محلي (LPE) |
| تاريخ الإدخال | نواة لينكس 4.14 (2017، الالتزام 72548b093ee3) |
| الإصلاح | الالتزام الرئيسي a664bf3d603d |
| المتطلبات | وصول محلي لقشرة بدون صلاحيات |
| ناقل الهجوم عن بُعد | لا يوجد — محلي فقط |
يسمح خلل منطقي في غلاف AEAD الخاص بـ authencesn في النواة لمستخدم محلي بدون صلاحيات بتنفيذ كتابة محكومة وحتمية من 4 بايت في ذاكرة التخزين المؤقت للصفحات لأي ملف قابل للقراءة على النظام — بما في ذلك الملفات الثنائية setuid مثل /usr/bin/su.
السبب الجذري هو تحسين معالجة موضعية من عام 2017 وضع صفحات ذاكرة التخزين المؤقت في قائمة تشتت قابلة للكتابة. يكتب خوارزم authencesn 4 بايت من بيانات مؤقتة خارج منطقة الإخراج المقصودة أثناء إعادة ترتيب رقم التسلسل الممتد. بسبب بنية قائمة التشتت التي أدخلها التحسين، تهبط تلك الـ 4 بايت في ذاكرة التخزين المؤقت للصفحات لملف يتم تغذيته عبر splice() — متجاوزةً صلاحيات الملفات تمامًا.
لا يوجد شرط سباق. لا إعادة محاولة. لا خطر تعطل. حتمي عبر جميع التوزيعات المختبرة.
قابلة للاختراق: نواة لينكس 4.14 حتى 6.18.21 و 6.19.x قبل 6.19.12.
جميع التوزيعات الرئيسية التي تشحن نواة ضمن هذا النطاق متأثرة، بما في ذلك:
| التوزيعة | الإصدار المختبر |
|---|---|
| Ubuntu 24.04 LTS | 6.17.0-1007-aws |
| Amazon Linux 2023 | 6.18.8-9.213.amzn2023 |
| RHEL 10.1 | 6.12.0-124.45.1.el10_1 |
| SUSE 16 | 6.12.0-160000.9-default |
غير متأثرة: Ubuntu 26.04 (Resolute) والإصدارات الأحدث.
قم بالتحديث إلى نواة تحتوي على الالتزام الرئيسي a664bf3d603d، الذي يتراجع عن تحسين المعالجة الموضعية لعام 2017.
# Ubuntu / Debian
sudo apt update && sudo apt upgrade -y && sudo reboot
# RHEL / AlmaLinux / Amazon Linux
sudo dnf clean metadata && sudo dnf upgrade && sudo reboot
# SUSE
sudo zypper refresh && sudo zypper update kernel-default && sudo reboot
algif_aead (مؤقت)إذا لم يكن التصحيح الفوري ممكنًا، قم بتعطيل الوحدة القابلة للاختراق لإغلاق سطح الهجوم.
ملاحظة لأنظمة عائلة RHEL:
algif_aeadمدمجة في النواة على RHEL/AlmaLinux/CentOS (CONFIG_CRYPTO_USER_API_AEAD=y). الحل عبرmodprobe.dلا يعمل على هذه الأنظمة. استخدم طريقةinitcall_blacklistبدلاً من ذلك.
Debian/Ubuntu (الوحدة قابلة للتحميل):
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif.conf
sudo rmmod algif_aead 2>/dev/null || true
عائلة RHEL (مدمجة في النواة — يتطلب إعادة تشغيل):
sudo grubby --update-kernel=ALL --args="initcall_blacklist=algif_aead_init"
sudo reboot
تأكد بعد إعادة التشغيل:
grep initcall_blacklist /proc/cmdline
لأحمال العمل غير الموثوقة — الحاويات، مشغّلات CI، البيئات المعزولة — قم بحظر إنشاء مقابس AF_ALG عبر سياسة seccomp بغض النظر عن حالة التصحيح. هذا يحد من سطح الهجوم حتى على النوى القابلة للاختراق.
تحقق مما إذا كانت algif_aead محمّلة حاليًا أو قيد الاستخدام:
# تحقق مما إذا كانت الوحدة محمّلة
lsmod | grep algif_aead
# تحقق مما إذا كانت أي عملية لديها مقبس AF_ALG مفتوح
lsof | grep AF_ALG
ss -xa | grep alg
توقيعات الاكتشاف في وقت التشغيل متاحة في Sysdig Secure (القاعدة: AF_ALG Page Cache Poisoning Leading to Privilege Escalation).
xD The Watcher — مخترق أخلاقي، فريق أحمر وباحث في أمن الذكاء الاصطناعي
GitHub: @xd20111
المدونة: yourhacker
يوثق هذا المستودع الثغرة لأغراض البحث والدفاع. للحصول على التقرير الفني الموثوق وPoC الرسمي، راجع كشف Theori المرتبط أعلاه.
إذا كان نموذج التهديد الخاص بك يتضمن تعدد الإيجارات على نواة مشتركة — حاويات على مضيف مشترك، مشغّلات CI، مزارع بناء — فإن حدود العزل أصبحت أضعف بشكل ملحوظ حتى يتم التصحيح. العزل على مستوى العتاد أو الآلة الافتراضية هو الاستجابة الصحيحة، وليس حدود مساحات الأسماء.
| Dirty Cow (2016) | Dirty Pipe (2022) | Copy Fail (2026) |
|---|
| يتطلب شرط سباق | نعم | جزئي | لا |
| خاص بإصدار معين | نعم | نعم | لا |
| الموثوقية | متقلب | متوسط | حتمي |
| تغطية التوزيعات | محدود | محدود | الكل منذ 2017 |
| المكوّن | التأثير |
|---|
| dm-crypt / LUKS | ✅ غير متأثر |
| SSH | ✅ غير متأثر |
| IPsec / XFRM | ✅ غير متأثر |
| kTLS / TLS داخل النواة | ✅ غير متأثر |
| OpenSSL / GnuTLS / NSS (البنيات الافتراضية) | ✅ غير متأثر |
OpenSSL مع تمكين محرك afalg صراحةً | ⚠️ يتراجع إلى التشفير في مساحة المستخدم |
التطبيقات التي تربط مقابس AF_ALG من نوع aead/skcipher/hash مباشرةً | ⚠️ ستنكسر — تحقق باستخدام lsof | grep AF_ALG |
| المورد | الرابط |
|---|
| إدخال NVD | https://nvd.nist.gov/vuln/detail/CVE-2026-31431 |
| التقرير الكامل من Theori | https://xint.io/blog/copy-fail-linux-distributions |
| موقع Copy Fail | https://copy.fail |
| نشرة CERT-EU | https://cert.europa.eu/publications/security-advisories/2026-005/ |
| تحليل Sysdig | https://sysdig.com/blog/cve-2026-31431-copy-fail-linux-kernel-flaw-lets-local-users-gain-root-in-seconds |
| تغطية The Register | https://theregister.com/2026/04/30/linux_cryptographic_code_flaw/ |
| ملاحظات تصحيح AlmaLinux | https://almalinux.org/blog/2026-05-01-cve-2026-31431-copy-fail/ |
| KernelCare من CloudLinux | https://blog.cloudlinux.com/cve-2026-31431-copy-fail-kernel-update |
| التاريخ | الحدث |
|---|
| 2017 | إدخال الانحدار عبر الالتزام 72548b093ee3 |
| أوائل أبريل 2026 | دمج الإصلاح من المنبع (الالتزام a664bf3d603d) |
| 29 أبريل 2026 | الكشف العام بواسطة Theori / Xint Code |
| 30 أبريل 2026 | بدء شحن تصحيحات التوزيعات |
| 1 مايو 2026 | نوى AlmaLinux المصححة في المستودعات الإنتاجية |