
يوفر نصوصًا آمنة للكشف وتصحيح النواة لثغرة CVE-2026-31431، وهي تصعيد صلاحيات في نواة لينكس عبر algif_aead. يتضمن فحوصات للقراءة فقط، وقائمة حظر للوحدات، وترقيات للنواة فقط.
تصعيد صلاحيات محلي في نواة لينكس عبر
algif_aead(AF_ALG) CVSS 7.8 عالية | الإفصاح العام: أبريل 2026
شغّله كمستخدم عادي:
curl -fsSL https://raw.githubusercontent.com/Mrhudson69/cve-2026-31431/main/check_cve_2026_31431.sh -o check.sh && bash check.sh
يقوم هذا النص بـ:
algif_aead قابلًا للوصولشغّله كجذر (root):
curl -fsSL https://raw.githubusercontent.com/Mrhudson69/cve-2026-31431/main/patch_cve_2026_31431.sh -o patch.sh && sudo bash patch.sh
شغّله كجذر (root) إذا كنت تريد إزالة Elastic Agent من الخادم:
curl -fsSL https://raw.githubusercontent.com/Mrhudson69/cve-2026-31431/main/uninstall_elastic_agent.sh -o uninstall-elastic.sh && sudo bash uninstall-elastic.sh
يقوم هذا النص بـ:
elastic-agent uninstall دون تفاعلإذا كنت داخل:
wg-easyلا يمكنك تصحيح نواة المضيف من داخل الحاوية.
يكتشف النص الحاويات تلقائيًا ويخرج بأمان.
يجب تشغيل نص التصحيح على:
وليس داخل الحاوية.
خلل في واجهة التشفير algif_aead في نواة لينكس يسمح لمستخدم محلي غير مميز بإفساد محتويات ذاكرة التخزين المؤقت للصفحات (page cache) عبر عمليات AF_ALG.
في ظل إعدادات النواة القابلة للاستغلال، قد يسمح هذا بـ:
تؤثر المشكلة على إصدارات نواة لينكس التي يوجد فيها منطق تحسين AEAD القابل للاستغلال ويمكن الوصول إليه.
| نظام التشغيل | الإصدارات |
|---|---|
| Ubuntu | 20.04 / 22.04 / 24.04 |
| Debian | 11 / 12 / 13 |
| Proxmox VE | 6.x / 7.x / 8.x / 9.x |
| لينكس عام | أي توزيعة تستخدم نواة قابلة للاستغلال |
check_cve_2026_31431.shنص اكتشاف آمن للقراءة فقط.
| الفحص | الوصف |
|---|---|
| إصدار النواة | يتحقق من نطاق النواة القابل للاستغلال |
| وجود التصحيح | يحاول تحديد النواة المصححة |
| حالة algif_aead | يتحقق من حالة تحميل الوحدة / القائمة السوداء |
| مقبس AF_ALG | يختبر قابلية الوصول لربط AEAD الخاص بـ algif_aead |
Python os.splice | يتحقق من جدوى الاستغلال عبر Python الخالص |
| تعرض Setuid | يكتشف أهداف setuid الشائعة |
| التخفيفات | يتحقق من AppArmor / SELinux / seccomp |
نص الاكتشاف:
patch_cve_2026_31431.shنص آمن للتخفيف والترقية يقتصر على النواة فقط.
مصمم لـ:
uninstall_elastic_agent.shنص مساعد آمن لإزالة Elastic Agent من خادم لينكس.
مصمم لـ:
/opt/Elastic/Agentينشئ:
/etc/modprobe.d/cve-2026-31431-disable-algif-aead.conf
المحتوى:
blacklist algif_aead
install algif_aead /bin/false
ثم يحاول:
rmmod algif_aead
يمنع هذا التحميل التلقائي للوحدة القابلة للاستغلال.
يقوم النص أيضًا بتحديث initramfs عند توفر update-initramfs لضمان بقاء القائمة السوداء بعد إعادة التشغيل بشكل موثوق.
قبل ترقية أي شيء، يقوم النص بتنفيذ:
apt-get -s install --only-upgrade ...
إذا كانت أي حزم غير خاصة بالنواة ستُرقّى:
يقوم النص بالإحباط (ABORT) تلقائيًا.
يمنع هذا ترقيات التطبيقات العرضية.
يقوم النص بترقية فقط:
لا يتم ترقية أي حزم تطبيقات/بيئات تشغيل.
إذا أُعيد تشغيل النظام، يقوم نص التصحيح الآن بتثبيت خدمة systemd مؤقتة لمرة واحدة تعيد تشغيل مرحلة التحقق تلقائيًا عند الإقلاع التالي.
يتيح هذا لتشغيل نص واحد تغطية:
الخيار الأكثر أمانًا أولًا:
sudo bash patch.sh --dry-run
يقوم هذا بـ:
موصى به قبل النشر في الإنتاج.
sudo bash patch.sh --no-reboot
sudo bash patch.sh --reboot-now
مع --reboot-now، يقوم النص بتثبيت خطاف استئناف إعادة التشغيل قبل جدولة إعادة التشغيل.
sudo reboot
إذا استخدمت --no-reboot أو أعدت التشغيل يدويًا لاحقًا، فسيستأنف التحقق بعد إعادة التشغيل تلقائيًا عند الإقلاع التالي.
تم تصميم النص لتجنب لمس:
ومع ذلك:
--dry-run أولًاسجلات التصحيح:
/var/log/cve_2026_31431_kernel_patch.log
تحقق من النواة قيد التشغيل:
uname -r
أعد تشغيل الاكتشاف مرة أخرى:
bash check.sh
تحقق من القائمة السوداء للوحدة:
cat /etc/modprobe.d/cve-2026-31431-disable-algif-aead.conf
تم توفير هذه النصوص لأغراض الأمن الدفاعي وإدارة الأنظمة فقط.
لا يتضمن أي كود استغلال.
دائمًا:
استخدم على مسؤوليتك الخاصة.
رخصة MIT
إدخال NVD للثغرة https://nvd.nist.gov/vuln/detail/CVE-2026-31431
إصلاح نواة لينكس https://git.kernel.org/linus/a664bf3d603dc3bdcf9ae47cc21e0daec706d7a5
إشعارات أمان Ubuntu https://ubuntu.com/security
متتبع أمان Debian https://security-tracker.debian.org/