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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
أدوات/GitHubGitHub/sec17br/cve-2026-31431-copy-fail
تحليل الثغرات الأمنيةتدقيق التكوينالاستجابة للحوادث
GitHubsec17br/cve-2026-31431-copy-fail

CVE-2026-31431-Copy-Fail

نص Bash لتقييم تعرّض مضيف Linux لثغرة CVE-2026-31431، والتحقق من حالة وحدة النواة، وتطبيق التخفيف عبر حظر algif_aead، وتحديث حزم النواة.

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

الأكثر شعبية

عرض الكل →

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

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

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

عرض جميع الأدوات →
مشاركة

CVE-2026-31431 - سكربت التحقق والتخفيف

يوثّق هذا المستودع سكربت Bash يُستخدم لتقييم التعرض لثغرة CVE-2026-31431 على أنظمة Linux، مع التركيز على Ubuntu، ولتطبيق تخفيف بسيط عن طريق حظر وحدة algif_aead.

إصدارات اللغات:

  • الإنجليزية: README.md
  • البرتغالية: README.pt-BR.md

يدعم السكربت ثلاثة أوضاع:

  • --check: جمع معلومات المضيف وتصنيف الحالة الحالية.
  • --mitigate: إنشاء قاعدة modprobe لحظر الوحدة المعرضة للخطر ومحاولة إلغاء تحميلها.
  • --update: تشغيل ترقيات حزم النواة عبر apt.

حول الثغرة

CVE-2026-31431، المشار إليها علنًا باسم Copy Fail، هي ثغرة تصعيد صلاحيات محلية في نواة Linux مرتبطة بوحدة algif_aead، التي تنفّذ واجهة AEAD الخاصة بواجهة التشفير البرمجية للنواة عبر AF_ALG.

من الناحية العملية، تسمح هذه المشكلة لمستخدم محلي منخفض الصلاحيات باستغلال خلل منطقي في مسار معالجة الذاكرة لهذا النظام الفرعي وتصعيد التأثير إلى اختراق كامل لسلامة النظام. النتيجة المنشورة من kernel.org والمنعكسة في NVD هي CVSS 7.8، مع متجه AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H، مما يعني أن الهجوم يتطلب تنفيذًا محليًا لكن له تأثير مرتفع على السرية والسلامة والتوافر.

متى تم إدخالها والإفصاح عنها

  • تم إدخال السبب الجذري القابل للاستغلال في النواة في 2017، عندما تمت إضافة تحسين موضعي إلى algif_aead.
  • تم نشر CVE في NVD في 22 أبريل 2026.
  • حدث الإفصاح العام الأوسع عن المشكلة، تحت اسم Copy Fail ومع إثبات مفهوم عام، في 29 أبريل 2026.
  • تم تنفيذ الإصلاح الرئيسي في المنبع في 1 أبريل 2026، قبل الإفصاح العام الواسع للمستخدمين النهائيين.

ما الذي تستغله

وفقًا للاستشارات الفنية المنشورة، يعتمد الخلل على مزيج من:

  • واجهة AF_ALG في النواة
  • وحدة algif_aead
  • تحسين عملية موضعي تم إدخاله في 2017
  • ربط هذه الواجهة مع splice()

النتيجة العملية هي قدرة عملية محلية على إجراء كتابة صغيرة محكومة في صفحات مدعومة بذاكرة التخزين المؤقت للصفحات من ملفات قابلة للقراءة. في الظروف المواتية، يكفي ذلك لتحويل موطئ قدم محلي محدود إلى تصعيد صلاحيات إلى root.

كيف يؤثر هذا على الشركة

الخطر الحقيقي ليس مجرد "تشغيل نواة Linux معرضة للخطر"، بل السماح لرمز محلي منخفض الثقة بالوصول إلى مسار النواة هذا. في بيئات المؤسسات، يعني ذلك عادةً تعرضًا أعلى على:

  • الخوادم متعددة المستخدمين
  • مضيفات القفز والحصون
  • مشغّلات CI/CD
  • أعباء العمل الحاوية التي تشغّل رمزًا غير موثوق
  • مجموعات Kubernetes
  • الأجهزة الافتراضية التي تستضيف الأتمتة والوكلاء والإضافات أو وظائف الطرف الثالث

إذا كان المهاجم يمتلك بالفعل شكلاً من أشكال التنفيذ المحلي، حتى بدون root، يمكن أن تصبح هذه CVE الخطوة التالية نحو اختراق المضيف. عمليًا، يوسع ذلك خطر:

  • الاستيلاء الكامل على الخادم
  • تعديل الملفات الثنائية أو القطع الأثرية المحلية
  • سرقة بيانات الاعتماد والرموز والأسرار المقيمة
  • الحركة الجانبية إلى أصول أخرى
  • تخريب خطوط الأنابيب وسلاسل البناء

ما هي استخدامات وحدة algif_aead

algif_aead جزء من واجهة التشفير البرمجية للنواة في مساحة المستخدم (AF_ALG). تسمح للتطبيقات باستخدام البدائيات التشفيرية للنواة عبر المقابس، خاصة عمليات AEAD (التشفير المصادق عليه مع البيانات المرتبطة).

هذه الوحدة عادةً ليست ضرورية لمعظم أعباء عمل الخوادم القياسية. وفقًا لإرشادات التخفيف المنشورة من CERT-EU، فإن تعطيل algif_aead كتخفيف مؤقت:

  • لا ينبغي أن يؤثر على dm-crypt أو LUKS
  • لا ينبغي أن يؤثر على kTLS
  • لا ينبغي أن يؤثر على IPsec/XFRM
  • لا ينبغي أن يؤثر على OpenSSL أو GnuTLS أو NSS أو SSH في الاستخدام القياسي

من ناحية أخرى، قد يؤثر تعطيلها على:

  • التطبيقات المكوّنة صراحةً لاستخدام محرك afalg
  • البرامج التي تفتح مقابس AF_ALG مباشرة
  • التكاملات المخصصة التي تستخدم aead أو skcipher أو hash عبر واجهة التشفير البرمجية للنواة

بعبارة أخرى، بالنسبة لمعظم مضيفات الشركات، يميل حظر الوحدة إلى تأثير منخفض. في الأجهزة المخصصة أو حزم التشفير المخصصة أو مسارات البرامج المحسّنة بشدة، يجب التحقق من التأثير قبل النشر.

التأثير التشغيلي لتعطيل الوحدة

حظر الوحدة يقلل التعرض فورًا، لكنه يأتي مع مقايضات:

  • التطبيقات التي تعتمد على AF_ALG قد تفشل في البدء أو تفقد تسريع التشفير المدعوم من النواة
  • أعباء العمل المخصصة قد تفشل فقط في وقت التشغيل، وليس عند الإقلاع
  • إذا كانت الوحدة محمّلة بالفعل، يكتمل التخفيف فقط بعد إلغاء تحميل ناجح أو إعادة تشغيل

بالنسبة لبيئات الإنتاج، النهج الأكثر أمانًا هو تطبيق التخفيف في نافذة صيانة خاضعة للتحكم والتحقق من التطبيقات الحرجة بعد ذلك.

الإصلاح الدائم الموصى به

حظر الوحدة هو مجرد تخفيف مؤقت. الإصلاح الدائم هو:

  1. تثبيت نواة مصححة مقدمة من موزع التوزيعة
  2. إعادة تشغيل المضيف حتى يتم تحميل النواة الجديدة فعليًا
  3. التحقق من أن المضيف لم يعد مُبلغًا عنه كمتأثر
  4. فقط بعد ذلك قرر ما إذا كان حظر الوحدة يجب أن يبقى في مكانه

تدابير إضافية موصى بها:

  • إعطاء الأولوية للتصحيح على المضيفات التي لديها مستخدمون محليون أو حاويات أو تنفيذ رمز غير موثوق
  • تقييد إنشاء مقابس AF_ALG باستخدام seccomp في الحاويات وخطوط الأنابيب حيثما أمكن
  • مراجعة الأماكن التي يُستخدم فيها afalg أو واجهة التشفير البرمجية للنواة صراحةً
  • الحفاظ على جرد لإصدارات النواة وإعادة التشغيل المعلقة
  • التعامل مع مشغّلات CI/CD وعقد Kubernetes كأولوية عالية

ما الذي يتحقق منه السكربت

يفحص السكربت:

  • اسم مضيف المضيف
  • إصدار النواة قيد التشغيل
  • نظام التشغيل عبر /etc/os-release
  • وجود وحدة algif_aead
  • ما إذا كانت الوحدة محمّلة حاليًا
  • ما إذا كانت الوحدة محظورة بقاعدة modprobe
  • ما إذا كان المضيف يتطلب إعادة تشغيل (/var/run/reboot-required)
  • الحالة المُبلغ عنها من Ubuntu Pro عبر pro fix CVE-2026-31431 --dry-run، عند توفرها

بناءً على ذلك، يُرجع أحد التصنيفات التالية:

  • PATCHED_OR_NOT_AFFECTED
  • LIKELY_NOT_VULNERABLE
  • MITIGATED
  • VULNERABLE_MODULE_LOADED
  • POTENTIALLY_VULNERABLE
  • UNKNOWN

منطق التصنيف

باختصار:

  • إذا أشارت أدوات Ubuntu إلى أن المضيف غير متأثر أو تم إصلاحه بالفعل، تصبح الحالة PATCHED_OR_NOT_AFFECTED.
  • إذا لم تكن وحدة algif_aead موجودة في النواة الحالية، تميل الحالة إلى LIKELY_NOT_VULNERABLE.
  • إذا كانت الوحدة موجودة لكنها محظورة وغير محمّلة، تصبح الحالة MITIGATED.
  • إذا أشارت Ubuntu إلى أن المضيف متأثر والوحدة محمّلة، تصبح الحالة VULNERABLE_MODULE_LOADED.
  • إذا كانت الوحدة موجودة وقابلة للتحميل لكن لا يمكن تأكيد حالة التصحيح، تصبح الحالة POTENTIALLY_VULNERABLE.

المتطلبات

  • Bash
  • modinfo
  • modprobe
  • lsmod
  • awk
  • grep
  • hostname
  • uname
  • apt-get لوضع --update
  • sudo عند التشغيل كمستخدم غير جذر
  • pro اختياريًا، لإثراء التحليل على Ubuntu

الاستخدام

إذا كان ملف السكربت يُسمى check_cve_2026_31431.sh:

root@kitploit:~
chmod +x check_cve_2026_31431.sh
./check_cve_2026_31431.sh --check

الفحص الافتراضي

root@kitploit:~
./check_cve_2026_31431.sh --check

مثال على المخرجات:

root@kitploit:~
Host: srv-app-01
OS: Ubuntu 24.04 LTS
Kernel: 6.8.0-58-generic
CVE: CVE-2026-31431
Module exists: 1
Module loaded: 0
Module blocked: 1
Ubuntu affected: yes
Fix available: yes
Reboot required: 0

Status: MITIGATED
Reason: algif_aead exists but is blocked and not loaded

مخرجات JSON

root@kitploit:~
./check_cve_2026_31431.sh --check --json

مثال:

root@kitploit:~
{"host":"srv-app-01","os":"Ubuntu 24.04 LTS","kernel":"6.8.0-58-generic","cve":"CVE-2026-31431","module":"algif_aead","module_exists":1,"module_loaded":0,"module_blocked":1,"ubuntu_affected":"yes","fix_available":"yes","reboot_required":0,"status":"MITIGATED","reason":"algif_aead exists but is blocked and not loaded"}

هذه المخرجات مفيدة للأتمتة وجرد الأصول وخطوط أنابيب الامتثال.

التخفيف

ينشئ وضع --mitigate الملف:

root@kitploit:~
/etc/modprobe.d/disable-algif_aead-CVE-2026-31431.conf

بالمحتوى التالي:

root@kitploit:~
install algif_aead /bin/false
blacklist algif_aead

بعد ذلك، يحاول السكربت إزالة الوحدة من الذاكرة باستخدام:

root@kitploit:~
modprobe -r algif_aead

الاستخدام:

root@kitploit:~
./check_cve_2026_31431.sh --mitigate

إذا لم يكن المستخدم root، سيحاول السكربت استخدام sudo.

التحديث

يشغّل وضع --update:

root@kitploit:~
apt-get update
apt-get install --only-upgrade -y 'linux-image-*' 'linux-modules-*' 'linux-aws*'

الاستخدام:

root@kitploit:~
./check_cve_2026_31431.sh --update

يحاول هذا الوضع ترقية الحزم المتعلقة بالنواة على الأنظمة القائمة على Debian و Ubuntu. في البيئات الأخرى، قد لا تنطبق هذه الخطوة.

المساعدة

root@kitploit:~
./check_cve_2026_31431.sh --help

المخرجات:

root@kitploit:~
Usage: ./check_cve_2026_31431.sh [--check|--mitigate|--update] [--json]

قيود مهمة

  • يستخدم السكربت استدلالات. لا يثبت الاستغلال؛ بل يقدّر التعرض وحالة التخفيف.
  • تعتمد حقول ubuntu_affected و fix_available على وجود أمر pro.
  • تستخدم خطوة --update أنماط حزم موجهة لـ Ubuntu و Debian وقد لا تغطي جميع النوى المخصصة.
  • في بعض التوزيعات، قد توجد الوحدة بسلوك يختلف عما يتوقعه السكربت.
  • قد يتطلب حظر الوحدة إعادة تشغيل في بعض البيئات لضمان حالة متسقة.

سير العمل الموصى به

  1. شغّل --check لتقييم المضيف.
  2. إذا كانت الوحدة متاحة ولم يتم تطبيق تصحيح، شغّل --mitigate.
  3. شغّل --update أو طبّق التحديث الرسمي من الموزع.
  4. أعد تشغيل المضيف إذا لزم الأمر.
  5. شغّل --check --json للتحقق من الحالة النهائية والاحتفاظ بالأدلة.

ملاحظة

من أجل وضوح النشر، يجب أن يستخدم السكربت اسمًا وصفيًا مثل:

root@kitploit:~
check_cve_2026_31431.sh

الاعتمادات

تم تنظيم ونشر المواد مع الإشادة بـ SEC17.

الموقع الرسمي:

  • https://sec17.com
تنزيل الأداة