
# دليل الاستجابة للحوادث وحزمة الكشف لثغرة CVE-2026-31431 (Copy Fail) في نواة لينكس لتصعيد الامتيازات محليًا، بما في ذلك استعلامات Sigma وauditd وFalco وWazuh وYARA وeBPF وSIEM للبحث.
دليل استجابة للحوادث جاهز للإنتاج، وقواعد كشف، وإرشادات فرز لمراكز العمليات الأمنية (SOC) لثغرة CVE-2026-31431 — وهي ثغرة تصعيد صلاحيات محلية في نواة لينكس ضمن واجهة التشفير algif_aead. تتضمن دليل استجابة تفاعلي بصيغة HTML، وقواعد Sigma، وإعدادات auditd، وقواعد Falco للحاويات، وقواعد ترابط Wazuh، وتوقيعات YARA، ومراقبات eBPF في الوقت الفعلي، واستعلامات بحث SIEM عبر Splunk وSentinel KQL وElastic EQL وQRadar AQL.
لا يوجد كود استغلال — محتوى دفاعي بحت لمحللي SOC ومهندسي الكشف.
المؤلف: Ashok Reddy
قائمة الحظر modprobe الموصى بها على نطاق واسع لا تعمل على RHEL وCentOS وAlmaLinux وRocky Linux أو CloudLinux. وحدة algif_aead مدمجة مباشرة في النواة (CONFIG_CRYPTO_USER_API_AEAD=y). الأوامر تعمل دون أخطاء لكنها تترك النظام غير محمي تمامًا.
التخفيف الصحيح لعائلة RHEL:
grubby --update-kernel=ALL --args="initcall_blacklist=algif_aead_init"
reboot
# تحقق:
cat /proc/cmdline | grep initcall_blacklist
راجع mitigate/ للحصول على نصوص برمجية خاصة بكل منصة.
├── README.md # هذا الملف
├── LICENSE # رخصة MIT
├── playbook/
│ ├── index.html # دليل الاستجابة التفاعلي (13 تبويبًا)
│ └── triage_playbook.md # دليل فرز محلل SOC
├── sigma/
│ ├── afalg_socket_creation.yml # مقبس AF_ALG بواسطة غير الجذر
│ ├── afalg_bind_aead_string.yml # سلسلة خوارزمية authencesn
│ └── afalg_splice_chain.yml # قاعدة السلسلة السلوكية
├── auditd/
│ └── cve-2026-31431.rules # مجموعة قواعد auditd كاملة
├── falco/
│ └── afalg_container.yml # كشف AF_ALG في الحاويات
├── wazuh/
│ └── cve-2026-31431.xml # قواعد ترابط Wazuh
├── yara/
│ └── copyfail_artifacts.yar # كشف ملفات PoC الأثرية
├── ebpf/
│ └── copyfail_monitor.bt # مراقب bpftrace في الوقت الفعلي
├── queries/
│ ├── splunk.spl # استعلامات بحث Splunk SPL
│ ├── defender_sentinel.kql # استعلامات Sentinel/MDE KQL
│ ├── elastic.eql # تسلسلات Elastic EQL
│ └── qradar.aql # استعلامات QRadar AQL
├── mitigate/
│ ├── mitigate_debian.sh # تخفيف Debian/Ubuntu
│ └── mitigate_rhel.sh # عائلة RHEL (طريقة grubby)
└── check/
└── is_vulnerable.sh # فحص الثغرة الآمن
playbook/index.html هو دليل تفاعلي كامل مع 13 تبويبًا:
مباشر: https://ashok523.github.io/cve-2026-31431/
# 1. تحقق من وجود الثغرة
sudo bash check/is_vulnerable.sh
# 2. طبق التخفيف
sudo bash mitigate/mitigate_rhel.sh # عائلة RHEL
sudo bash mitigate/mitigate_debian.sh # Debian/Ubuntu
# 3. انشر قواعد auditd
sudo cp auditd/cve-2026-31431.rules /etc/audit/rules.d/
sudo augenrules --load
# 4. انشر قواعد Wazuh
sudo cp wazuh/cve-2026-31431.xml /var/ossec/etc/rules/local_rules.xml
sudo systemctl restart wazuh-manager
# 5. انشر قاعدة Falco (Kubernetes)
sudo cp falco/afalg_container.yml /etc/falco/rules.d/
sudo systemctl restart falco
# 6. شغّل مراقب eBPF (في الوقت الفعلي)
sudo bpftrace ebpf/copyfail_monitor.bt
# 7. افحص ملفات PoC
yara yara/copyfail_artifacts.yar /tmp/ /dev/shm/ /var/tmp/
يحتوي هذا المستودع على محتوى كشف دفاعي فقط. لا يتم تضمين أو إضافة أي كود استغلال، أو نصوص برمجية لإثبات المفهوم، أو إزاحات استدعاءات النظام، أو شيلكود.
| الحقل | التفاصيل |
|---|
| CVE | CVE-2026-31431 |
| الاسم المستعار | Copy Fail |
| المكوّن | نواة لينكس algif_aead (واجهة التشفير AF_ALG) |
| النوع | تصعيد صلاحيات محلي (LPE) |
| CVSS | 7.8 (عالية) |
| الأساسية | كتابة حتمية 4 بايت في ذاكرة التخزين المؤقت للصفحات لأي ملف قابل للقراءة |
| حجم الاستغلال | 732 بايت بلغة Python (المكتبة القياسية فقط، Python 3.10+) |
| الموثوقية | 100% — لا يوجد حالة سباق، لا إعادة محاولة |
| كتابات القرص | صفر — ذاكرة التخزين المؤقت للصفحات فقط، غير مرئية لأدوات FIM |
| النطاق | كل توزيعات لينكس الرئيسية منذ 2017 (النواة 4.13–6.18) |
| خطر الحاويات | أساسية الهروب من الحاويات إذا كانت نواة المضيف غير مصححة (T1611) |
| حالة PoC | عامة منذ 29 أبريل 2026 |
| التصحيح | الالتزام a664bf3d603d — يتراجع عن عمليات AEAD الموضعية |
| اكتُشفت بواسطة | Taeyang Lee (Theori) · سلسلة الاستغلال بواسطة Xint Code (بمساعدة الذكاء الاصطناعي) |
| التبويب | المحتوى |
|---|
| نظرة عامة | مخطط الهجوم، سلسلة الاستغلال، الإحصائيات |
| المراحل 1–6 | دورة حياة الاستجابة الكاملة مع قوائم تحقق |
| موجز الاستخبارات | منهجية كشف SOC، VAPT مقابل SOC، أدوات المجتمع، حالة التصحيح |
| مؤشرات الاختراق | مؤشرات استدعاءات النظام، العمليات، نظام الملفات، السلوك |
| MITRE ATT&CK | تعيين التقنيات مع إشارات الكشف |
| حالات استخدام الكشف | 8 حالات استخدام قائمة على TTP (UC-CF-001 حتى UC-CF-008) |
| بحث SIEM | 18 استعلامًا عبر جميع المنصات |
| كشف الذكاء الاصطناعي | قدرات وقيود UEBA/ML |
| المرحلة | الكشف | الأداة |
|---|
| مقبس AF_ALG بواسطة غير الجذر | Sigma · auditd · Falco · eBPF | الإشارة الأساسية |
| سلسلة splice() (نفس PID، 10 ثوانٍ) | auditd · eBPF | إيجابيات كاذبة شبه معدومة |
| سلسلة authencesn AEAD | Sigma · auditd | حرجة إذا لوحظت |
| uid→euid=0 بدون مصادقة | auditd · Splunk · KQL | تأكيد LPE |
| su بدون اسم مستخدم | auth.log (إشارة Wiz) | ما بعد الاستغلال |
| PoC على نظام الملفات | YARA | كشف التجهيز |
| الهروب من الحاويات | Falco مع سياق K8s | T1611 |
| الثبات بعد الجذر | auditd FIM · Wazuh | مفاتيح SSH، SUID، cron |
| النهج | الحجم | الثقة |
|---|
| ❌ تنبيه على كل splice() | ~10,000/ساعة | منخفضة جدًا |
| ⚠️ تنبيه على socket(AF_ALG) فقط | ~5–50/يوم | متوسطة |
| ✅ AF_ALG + splice نفس PID/10 ثوانٍ | ~0–2/يوم | عالية جدًا |
| ✅ AF_ALG + splice + su / 60 ثانية | ~0/يوم | حرجة |
| التوزيعة | الحالة | الأمر |
|---|
| Ubuntu | ✅ مصححة | apt update && apt install linux-image-generic |
| AlmaLinux | ✅ مصححة | dnf clean metadata && dnf upgrade |
| CloudLinux | ✅ مصححة + livepatch | kcarectl --update |
| Debian | ✅ متتبعة | apt update && apt upgrade |
| Mainline | ✅ مُصلحة 7.0-rc7 | الالتزام a664bf3d603d |
| RHEL | ⏳ قيد الانتظار | لم يُصدر التصحيح بعد |
| Amazon Linux | 🔄 قيد التتبع | yum update kernel |