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

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

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

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

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
copy-fail-checker — مدقق Bash للقراءة فقط لثغرة Linux kernel Copy Fail (CVE-2026-31431) | Kitploit
أدوات/GitHubGitHub/samanzamani/copy-fail-checker
تصعيد الامتيازاتماسحات الثغرات الأمنيةتحليل الثغرات الأمنيةالاستغلالالبرمجة النصية والأتمتةالتشفيرالتعلم والتعليم
GitHubsamanzamani/copy-fail-checker

copy-fail-checker

مدقق Bash للقراءة فقط لثغرة Linux kernel Copy Fail (CVE-2026-31431)

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

الأكثر شعبية

عرض الكل →

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

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

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

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

مدقق فشل النسخ — CVE-2026-31431

نص برمجي Bash صغير وخفيف الاعتماديات يخبرك ما إذا كان نظام لينكس لديك معرضًا لثغرة تصعيد الامتيازات المحلية Copy Fail (CVE-2026-31431).

النص البرمجي للقراءة فقط: لا يستغل الثغرة أبدًا، ولا يُحمل وحدات النواة، ولا يُعدل النظام.


ما هو Copy Fail؟

Copy Fail هو خطأ منطقي في قالب التشفير AEAD authencesn الخاص بنواة لينكس، يمكن الوصول إليه من مساحة المستخدم عبر واجهة المقبس AF_ALG (algif_aead).

الحقلالقيمة
CVECVE-2026-31431
تاريخ الكشف2026-04-29
CVSS v3.17.8 (عالي)
الفئةتصعيد الامتيازات المحلية
المكون المتأثرcrypto/authencesn + crypto/algif_aead
تم تقديمه في2017 (تحسين AEAD في المكان في algif_aead.c)
الإصلاح الرئيسيالالتزام a664bf3d603d، دُمج 2026-04-01

لماذا هذا مهم

يمكن لمستخدم محلي غير مميز تشغيل كتابة محكومة ومحددة بحجم 4 بايت في ذاكرة التخزين المؤقت للصفحات لأي ملف يمكنه قراءته. يستخدم برنامج إثبات المفهوم العام (732 بايت من بايثون) هذه الأولية لاستبدال ثنائي setuid والحصول على صلاحيات الجذر في كل توزيعة رئيسية تقريبًا تم إصدارها منذ 2017.

من المتأثر

كل توزيعة لينكس تُصدر نواة مبنية منذ 2017 مع تمكين algif_aead. العائلات المؤكدة المتأثرة تشمل:

  • أوبونتو 18.04 → 25.10 (أوبونتو 26.04 "Resolute" غير متأثرة)
  • ديبيان (جميع الإصدارات المدعومة حاليًا)
  • RHEL / AlmaLinux / Rocky / CentOS Stream 8, 9, 10
  • SUSE Linux Enterprise / openSUSE
  • Amazon Linux 2023
  • معظم مضيفات الحاويات وصور عقد Kubernetes المُدارة المستمدة مما سبق

بداية سريعة

root@kitploit:~
# Download the script
curl -fsSLO https://raw.githubusercontent.com/samanzamani/copy-fail-checker/main/check-copy-fail.sh

# Make it executable
chmod +x check-copy-fail.sh

# Run it
./check-copy-fail.sh

أو استنساخ المستودع:

root@kitploit:~
git clone https://github.com/samanzamani/copy-fail-checker.git
cd copy-fail-checker
./check-copy-fail.sh

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


ما يفحصه النص البرمجي

يشغل النص البرمجي ثلاثة فحوصات مستقلة ويجمعها في حكم واحد.

1. إصدار النواة

يقرأ /etc/os-release و uname -r، ثم يقارن النواة الجاري تشغيلها بالإصدار الرسمي المُصلح الذي نشره فريق الأمان لتوزيعتك. جدول الإصدارات يغطي حاليًا:

إذا لم تكن توزيعتك في الجدول، يعود النص البرمجي إلى الفحوصات التشغيلية أدناه.

2. حالة وحدة algif_aead

يفحص النص البرمجي أربعة أشياء دون تعديل أي شيء:

  • ما إذا كانت الوحدة محملة حاليًا (lsmod)
  • ما إذا كانت الوحدة متاحة للتحميل (modinfo)
  • ما إذا كانت الوحدة مدرجة في القائمة السوداء في /etc/modprobe.d أو /usr/lib/modprobe.d أو /run/modprobe.d
  • ما إذا كانت الوحدة مدمجة في /boot/config-<uname> أو /proc/config.gz

وحدة مدرجة في القائمة السوداء وغير محملة وغير مدمجة تغلق سطح الهجوم حتى على نواة غير مُصلحة.

3. إمكانية الوصول إلى مقبس AF_ALG

الإشارة الأكثر موثوقية هي ما سيراه المهاجم فعليًا. يستخدم النص البرمجي مسبار بايثون صغير (socket.socket(AF_ALG, SOCK_SEQPACKET, 0) يتبعه bind() إلى قالب AEAD authencesn(hmac(sha256),cbc(aes))) لمعرفة ما إذا كان يمكن إنشاء وربط مقابس AF_ALG من سياق غير مميز. يقوم المسبار بإنشاء المقبس وربطه وإغلاقه فورًا دون ترك أي شيء قابل للاستغلال.

إذا لم يكن python3 مثبتًا، يتم تخطي المسبار ويعتمد الحكم على الفحصين 1 و 2.


الأحكام الممكنة


مخرجات JSON للأتمتة

لخطوط الأنابيب أو إدارة التهيئة أو مسح الأسطول، استخدم --json:

root@kitploit:~
./check-copy-fail.sh --json

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

root@kitploit:~
{
  "verdict": "vulnerable",
  "distro_id": "ubuntu",
  "distro_version_id": "24.04",
  "kernel": "6.8.0-31-generic",
  "patched_version": "",
  "kernel_status": "unknown",
  "module_loaded": 0,
  "module_builtin": 0,
  "module_available": 1,
  "module_blacklisted": 0,
  "af_alg_status": "reachable"
}

التخفيف

الموصى به: تثبيت تحديث النواة من المُوّرد

هذا هو الإصلاح الكامل الوحيد. بعد التحديث، أعد التشغيل لتشغيل النواة الجديدة فعليًا.

root@kitploit:~
# Debian / Ubuntu
sudo apt update && sudo apt full-upgrade && sudo reboot

# RHEL / AlmaLinux / Rocky / CentOS Stream
sudo dnf clean metadata && sudo dnf upgrade && sudo reboot

# openSUSE / SLES
sudo zypper refresh && sudo zypper update && sudo reboot

# Amazon Linux 2023
sudo dnf upgrade --releasever=latest && sudo reboot

حل مؤقت: تعطيل algif_aead

إذا لم تتمكن من إعادة التشغيل إلى نواة مُصلحة الآن، أضف الوحدة الضعيفة إلى القائمة السوداء. هذا يعطل أي تطبيق يستخدم بشكل مشروع تشفيرات AF_ALG AEAD (نادر على معظم الخوادم — تحقق في بيئة اختبار أولاً).

root@kitploit:~
# Persist the blacklist across reboots
echo "install algif_aead /bin/false" | sudo tee /etc/modprobe.d/disable-algif-aead.conf

# Unload it from the running kernel right now
sudo rmmod algif_aead 2>/dev/null || true

إذا كانت الوحدة مدمجة، فلن تعمل القائمة السوداء ولكن يمكن تعطيل استدعاء التهيئة. إعادة التشغيل ضرورية.

root@kitploit:~
sudo grubby --update-kernel=ALL --args="initcall_blacklist=algif_aead_init"

sudo reboot

للأعباء العملية المحوسبة، احظر أيضًا عائلة مقابس AF_ALG من ملف تعريف seccomp الخاص بك حتى لا تتمكن حاوية مخترقة من الوصول إلى سطح النواة.


تشغيل نموذجي

root@kitploit:~
== System information ==
[INFO]    Distribution : Ubuntu 24.04.2 LTS (ubuntu 24.04)
[INFO]    Kernel       : 6.8.0-31-generic

== Check 1 / 3 — Kernel version ==
[WARN]    No vendor-fixed kernel version is recorded for ubuntu 24.04.
[WARN]    Falling back to runtime mitigation checks below.

== Check 2 / 3 — algif_aead kernel module ==
[WARN]    algif_aead is not loaded but can be autoloaded on demand (no blacklist found).

== Check 3 / 3 — AF_ALG socket reachability ==
[VULN]    AF_ALG sockets are reachable from this unprivileged context.

== Verdict ==
[VULN]    This system appears to be VULNERABLE to CVE-2026-31431.
[VULN]    Apply the vendor kernel update or blacklist algif_aead as a temporary mitigation.

القيود

  • جدول الإصدارات المُصلحة يغطي فقط العائلات المذكورة أعلاه. طلبات السحب (PRs) لتوسعته مرحب بها.
  • النص البرمجي يثق في uname -r. إذا كنت تشغل نواة خارج الشجرة أو معاد بناؤها، قد لا تعكس مقارنة الإصدار ما إذا كان الإصلاح قد تم نقله فعليًا.
  • قد تُبلغ بيئات الحاوية/صندوق الحماية المباشرة عن blocked_permission لـ AF_ALG ببساطة لأن seccomp نشط — نواة المضيف نفسها قد تظل ضعيفة.

المراجع

  • استشارة CERT-EU 2026-005
  • إفصاح Xint: 732 بايت للجذر على كل توزيعة لينكس رئيسية
  • AlmaLinux: إصدار تصحيحات CVE-2026-31431
  • أوبونتو: إصلاحات ثغرة Copy Fail متاحة
  • مدونة أمان مايكروسوفت: Copy Fail في بيئات السحابة
  • Sophos: استغلال إثبات المفهوم متاح
  • استجابة SUSE لـ copy.fail
  • تغطية The Hacker News
  • Bugcrowd: ما نعرفه عن Copy Fail
  • تغطية The Register

الترخيص

MIT — استخدم وعدّل ووزع بحرية. لا ضمان.

تنزيل الأداة
التوزيعةالنواة المُصلحة (≥)
AlmaLinux / RHEL / Rocky / CentOS 84.18.0-553.121.1.el8_10
AlmaLinux / RHEL / Rocky / CentOS 95.14.0-611.49.2.el9_7
AlmaLinux / RHEL / Rocky / CentOS 106.12.0-124.52.2.el10_1
أوبونتو 26.04+ ("Resolute")غير متأثر
أوبونتو 18.04 – 25.10دورية، راجع apt
ديبيان (جميع الإصدارات)دورية، راجع DSA
الحكمرمز الخروجالمعنى
patched0النواة الجاري تشغيلها في الإصدار المُصلح من المُوّرد أو أحدث.
mitigated0مقبس AF_ALG محظور والوحدة غير محملة.
likely_mitigated0الوحدة في القائمة السوداء وغير محملة؛ لم يكن المسبار المباشر ممكنًا.
vulnerable1النواة غير مُصلحة و algif_aead / AF_ALG في متناول اليد.
unknown2إشارة غير كافية لتحديد. عالجها كاحتمالية الثغرة.
not_applicable3لا يعمل على لينكس.