Skip to content
KitploitKITPLOIT
أدواتالمدونة
Log in
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

الخلاصاتاتصالالخصوصية© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Detections-CVE-2026-31431 — قواعد الكشف، توقيعات YARA، قواعد auditd/Wazuh، وقوالب أحداث MISP لثغرة CVE-2026-31431 في نواة لينكس (Copy Fail) لتصعيد الامتيازات محليًا. تتضمن مؤشرات الاختراق (IoCs)، خطوات التخفيف، وتحليل الاستغلال. | Kitploit
أدوات/GitHubGitHub/insomnisec/detections-cve-2026-31431
إدارة مؤشرات الاختراق (IOC)تصعيد الامتيازاتتحليل الثغرات الأمنيةالاستغلالالتحقيق الجنائي الرقمياستخبارات التهديداتكشف التسللالتعلم والتعليمالاستجابة للحوادث

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
GitHubinsomnisec/detections-cve-2026-31431

Detections-CVE-2026-31431

قواعد الكشف، توقيعات YARA، قواعد auditd/Wazuh، وقوالب أحداث MISP لثغرة CVE-2026-31431 في نواة لينكس (Copy Fail) لتصعيد الامتيازات محليًا. تتضمن مؤشرات الاختراق (IoCs)، خطوات التخفيف، وتحليل الاستغلال.

عرض المستودع
211منذ 4 أشهرلم تتم المراجعة بعد

الانتقال إلى: https://github.com/insomnisec/public_cve_detections

لإدارة أفضل على المدى الطويل لمنشورات الكشف

سيتم إزالة هذا المستودع في يونيو 2026

يرجى استخدام المستودع الآخر مستقبلاً

CVE-2026-31431 "Copy Fail" — حزمة الكشف والاستجابة

تاريخ النشر: 2026-04-30
CVSSv3: 7.8 (عالي)
النوع: تصعيد الامتيازات المحلي (LPE)
النظام الفرعي: نواة Linux algif_aead / authencesn قالب تشفيري
المتأثر: أنوية Linux 4.14 – 6.18.21 (جميع التوزيعات تقريباً منذ 2017)
المراجع:

  • تحليل Xint/Theori
  • إثبات المفهوم الرسمي
  • إفصاح oss-security
  • copy.fail

جدول المحتويات

  1. ملخص الثغرة
  2. كيف يعمل الاستغلال
  3. حدود الكشف
  4. التخفيف الفوري
  5. قاعدة YARA
  6. قواعد Auditd
  7. قواعد Wazuh
  8. قالب أحداث MISP
  9. التصحيح والمعالجة
  10. مرجع مؤشرات الاختراق الرئيسية

ملخص الثغرة

CVE-2026-31431 هو خلل منطقي أُدخل في النواة 4.14 (2017) عند التقاء ثلاثة تغييرات مستقلة:

  1. قالب authencesn (أُضيف عام 2011 لدعم ESN في IPsec) يكتب 4 بايتات من بيانات مؤقتة خارج حدود مخزن الإخراج.
  2. اكتسب AF_ALG دعم AEAD في عام 2015، مما سمح لمساحة المستخدم بإرسال البيانات عبر splice() من ملفات محفوظة في ذاكرة الصفحات.
  3. في عام 2017، تم تحسين algif_aead.c للعمل في المكان نفسه (req->src == req->dst)، مما يضع صفحات حية من ذاكرة الصفحات في قائمة تشتت قابلة للكتابة.

النتيجة: يمكن لمستخدم غير مميز كتابة 4 بايتات يتحكم بها المهاجم بالضبط في نسخة ذاكرة الصفحات في النواة لأي ملف قابل للقراءة — بما في ذلك ثنائيات setuid و/etc/passwd — دون لمس الملف الموجود على القرص. إثبات المفهوم العملي هو سكربت Python بحجم 732 بايت. لا توجد حالة سباق. لا توجد إزاحات خاصة بالتوزيعات. موثوق عبر Ubuntu وRHEL وAmazon Linux وSUSE.


كيف يعمل الاستغلال```

Attacker opens AF_ALG socket (family 38, type 5) └─ Binds to "authencesn(hmac(sha256),cbc(aes))" └─ Sets SOL_ALG (279) options including key and authsize └─ Accepts a connection socket

Attacker opens target file (e.g., /etc/passwd) read-only └─ Uses splice() to feed page-cache pages into the AEAD socket's RX buffer └─ Sends crafted AAD via sendmsg() — bytes 4–7 of AAD = attacker-controlled write value

authencesn performs in-place decryption: └─ scatterwalk_map_and_copy writes seqno_lo into the chained page-cache page └─ recvmsg() returns an error (HMAC fails — expected), but the write already happened

Page-cache now contains attacker-modified copy of the file └─ Kernel executes from page-cache, not disk └─ On-disk file is UNCHANGED — file integrity tools see nothing

يستهدف إثبات المفهوم `/etc/passwd`: حيث يحدد موقع حقل UID للمستخدم الحالي ويستبدله بـ `0000`، ثم يستدعي `su` للحصول على قشرة جذر (root).

---

## قيود الاكتشاف

> **اقرأ هذا القسم قبل نشر أي قواعد أدناه.**

هذا الاستغلال له خاصيتان تحدّان من تغطية الكشف بشكل كبير:

**1. تتم عملية الكتابة في ذاكرة التخزين المؤقت للصفحات (page cache)، وليس في نظام الملفات.**
أي أداة كشف تراقب أحداث نظام الملفات — `inotify`، `fanotify`، AIDE، Tripwire، مراقبة المسارات في auditd — لن **تلاحظ** التعديل. لا تتم كتابة الملف على القرص مطلقًا. هذا يعني أن علامات `-p w` (الكتابة) في مراقبة مسارات auditd لكل من `/usr/bin/su` أو `/etc/passwd` لن تلتقط الكتابة الفعلية للاستغلال.

**2. تستخدم الآلية واجهات نواة مشروعة.**
سوكيتات `AF_ALG` و`splice()` و`authencesn` جميعها لها استخدامات مشروعة (IPsec، اختبارات ذاتية للنواة، إدخال/إخراج بنمط sendfile). يجب أن يركز الكشف على *التركيب* بين هذه البدائيات بدلاً من أي منها بمعزل عن الآخرين، وينبغي توقع نتائج إيجابية كاذبة على الأنظمة التي تشغّل IPsec أو تجري اختبارات تشفير للنواة.

**ما يمكن أن يلتقطه الكشف:**
- استدعاء النظام `socket(AF_ALG, SOCK_SEQPACKET, 0)`
- استدعاء النظام `splice()` المرتبط بما سبق، خاصةً قرب الوصول إلى ثنائيات setuid
- سكربت إثبات المفهوم نفسه (عبر YARA)
- سلسلة الخوارزمية المحددة `authencesn(hmac(sha256),cbc(aes))` في ذاكرة العملية أو ملفات السكربت

**ما لا يمكن أن يلتقطه الكشف:**
- الكتابة الفعلية في ذاكرة التخزين المؤقت للصفحات (في الذاكرة، بلا حدث على نظام الملفات)
- الاستخدام بعد الاستغلال لمدخل ذاكرة التخزين المؤقت للصفحات المعدَّل (يبدو كاستدعاء عادي لـ `su` أو `passwd`)
- الاختلافات التي تتجنب Python أو سلسلة الخوارزمية المحددة

---

## التخفيف الفوري

قبل نشر قواعد الكشف، طبّق هذا التخفيف على أي مضيف غير مُصَحَّح:```bash
# Disable algif_aead kernel module — blocks the exploit primitive entirely
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif-aead.conf
sudo rmmod algif_aead 2>/dev/null || true

تحقق من أن الإجراء الوقائي نشط باستخدام الكاشف الرسمي:```bash

Exit 0 = not vulnerable / mitigated

Exit 2 = VULNERABLE

python3 test_cve_2026_31431.py

> **ملاحظة:** سيفشل الأمر `rmmod` إذا لم تكن الوحدة النمطية محمّلة حاليًا؛ وهذا أمر مقبول. يمنع إعداد `modprobe.d` تحميلها في المستقبل. لا تأثير لهذا الإجراء التخفيفي على أحمال العمل القياسية لـ TLS أو SSH أو تشفير نظام الملفات — بل يؤثر فقط على IPsec مع أرقام التسلسل الموسعة باستخدام قالب `authencesn`، وهو أمر غير شائع خارج بوابات VPN المخصصة.

---

## قاعدة YARA

احفظ باسم `cve_2026_31431.yar`

> **نطاق الفحص:** صُممت هذه القاعدة لفحص ملفات نصوص بايثون على القرص أو الملتقطة من تفريغات الذاكرة. ستطابق الـ PoC المعروف والمتغيرات القريبة منه. لن تكتشف نشاط الاستغلال على مستوى استدعاءات النظام — استخدم قواعد auditd/Wazuh لذلك.```yara
rule CVE_2026_31431_CopyFail_PoC_HighConfidence {
    meta:
        description     = "High-confidence match: CVE-2026-31431 Copy Fail PoC or close variant"
        author          = "Detection Engineering"
        reference       = "https://xint.io/blog/copy-fail-linux-distributions"
        cve             = "CVE-2026-31431"
        date            = "2026-04-30"
        severity        = "High"
        cvss            = "7.8"

    strings:
        // Algorithm string unique to this exploit path — very high fidelity
        $alg_full      = "authencesn(hmac(sha256),cbc(aes))" ascii

        // Specific socket call signature from PoC: AF_ALG=38, SOCK_SEQPACKET=5
        $socket_call   = "socket(38,5,0)" ascii

        // SOL_ALG socket option (decimal 279)
        $solalg        = "setsockopt(279" ascii

        // Hex key/iv payload written via setsockopt in PoC
        $key_payload   = "0800010000000010" ascii

        // splice() usage in context of AEAD operations
        $splice        = "splice(" ascii

        // Target indicators from PoC (page-cache corruption targets)
        $target_passwd = "/etc/passwd" ascii
        $target_su     = "/usr/bin/su" ascii

        // AF_ALG aead bind strings
        $aead_bind     = "\"aead\"" ascii

    condition:
        // High-confidence: unique algorithm string alone is sufficient
        $alg_full
        or
        // Medium-confidence: socket primitive + option number
        ($socket_call and $solalg)
        or
        // Medium-confidence: splice into AEAD socket targeting a setuid path
        ($aead_bind and $splice and ($target_passwd or $target_su))
        or
        // PoC hex payload present alongside splice
        ($key_payload and $splice)
}

rule CVE_2026_31431_CopyFail_Mechanism {
    meta:
        description     = "Behavioral: AF_ALG AEAD + splice combination suggestive of CVE-2026-31431 technique"
        author          = "Detection Engineering"
        reference       = "https://xint.io/blog/copy-fail-linux-distributions"
        cve             = "CVE-2026-31431"
        date            = "2026-04-30"
        severity        = "Medium"
        note            = "Higher false positive rate than HighConfidence rule — review matches in context"
تنزيل الأداة