
تخفيف سريع وقابل للتدقيق لأنظمة لينكس لـ CVE-2026-31431 خطأ النسخ: حظر algif_aead، التحقق، وتقوية AF_ALG seccomp.
______ ______ _ __ ______ __
/ ____/___ ____ __ _/ ____/___ _(_) / / ____/_ ______ __________/ /
/ / / __ \/ __ \/ / / / /_ / __ `/ / / / / __/ / / / __ `/ ___/ __ /
/ /___/ /_/ / /_/ / /_/ / __/ / /_/ / / / / /_/ / /_/ / /_/ / / / /_/ /
\____/\____/ .___/\__, /_/ \__,_/_/_/ \____/\__,_/\__,_/_/ \__,_/
/_/ /____/
تقييم سريع وقابل للتدقيق لمدى التعرض وتخفيف الأثر في لينكس لـ CVE-2026-31431 "Copy Fail" لحين تصحيح النواة.
CopyFail Guard هي أداة عمليات دفاعية لمسؤولي أنظمة لينكس، ومهندسي DevSecOps، وفرق المنصات، والمستجيبين للحوادث. تساعد في تقليل التعرض لمشكلة algif_aead / AF_ALG في لينكس عن طريق:
algif_aead متاحًا، أو محملاً، أو مدمجًا، أو محظورًا بالفعلmodprobe.d وإلغاء تحميل الوحدة عندما يكون آمنًاالإصلاح النهائي: قم بتثبيت نواة مصححة من البائع وأعد التشغيل.
هذه الأداة تسد الفجوة التشغيلية بين الكشف والتحديث الكامل للأسطول.
splice، أو تغيير setuid، أو تصعيد الامتيازات، أو استقصاءات مدمرة./etc/modprobe.d/99-copyfail-guard.conf، والإلغاء يزيل ذلك الملف فقط.seccomp-patch حظر AF_ALG إلى ملف seccomp موجود لـ Docker/Podman/Kubernetes بدلاً من استبدال تعزيز وقت التشغيل الخاص بك.assess --json وأكواد الخروج الموثقة عمليات مسح الأسطول، والتقاط SIEM، وأدلة إدارة التغيير.إذا كنت على مضيف لينكس وتحتاج إلى إجابة سريعة:
git clone --depth 1 https://github.com/juliosuas/copyfail-guard.git
cd copyfail-guard
sudo ./bin/copyfail-guard.sh doctor
sudo ./bin/copyfail-guard.sh assess
إذا كانت النتيجة مكشوفة وalgif_aead قابل للتعديل:
sudo ./bin/copyfail-guard.sh mitigate --yes
sudo ./bin/copyfail-guard.sh verify
للتثبيت القابل للتكرار، ثبّت علامة إصدار:
git clone --branch v0.3.0 --depth 1 https://github.com/juliosuas/copyfail-guard.git
استبدل v0.3.0 بأحدث إصدار معلّم عند توفر إصدارات أحدث.
قم بتشغيل فحص التعرض الآمن أولاً:
sudo ./bin/copyfail-guard.sh assess
كيفية قراءة النتيجة:
| عائلة الحكم | ما تعنيه | ما يجب فعله |
|---|---|---|
EXPOSED_* | algif_aead / AF_ALG يبدو قابلاً للوصول أو التحميل | قم بالتخفيف الآن، ثم صحّح وأعد التشغيل |
PARTIALLY_MITIGATED_* | يوجد حظر ولكن الوحدة المحملة أو حالة إعادة التشغيل لا تزال مهمة | أعد التشغيل أو قم بالإلغاء بأمان، ثم تحقق |
INTERIM_MITIGATED_* | التخفيف المحلي نشط | احتفظ به، ولكن لا يزال يتعين التصحيح وإعادة التشغيل |
LOW_OBVIOUS_EXPOSURE_* | لم تجد الفحوصات المحلية تعرضًا واضحًا لـ algif_aead | تحقق من حالة تصحيح البائع على أي حال |
إذا كنت تشغل حاويات غير موثوقة، أو وظائف CI، أو صناديق رمل، أو أعباء عمل متعددة المستخدمين، فاختبر أيضًا ما إذا كان إنشاء مأخذ AF_ALG محظورًا داخل بيئة التشغيل تلك:
python3 tools/afalg-socket-test.py
PERMITTED لا تثبت استغلالاً ناجحًا، ولكنها تثبت أن واجهة برمجة التطبيقات المشفرة ذات الصلة للمستخدم قابلة للوصول. بالنسبة للعمليات الدفاعية، هذا سبب كافٍ لتطبيق التخفيف أثناء تأكيد نشر النواة المصححة.
لا يتم تضمين إثبات مفهوم مدمر. هذه ميزة، وليست فجوة.
إثبات استغلال Copy Fail حقيقي سيحتاج إلى التحقق من تأثير ذاكرة kernel/page-cache أو تصعيد الامتيازات. شحن ذلك في مستودع تخفيف عام سيجعل المشروع أقل أمانًا وأقل قابلية للنشر في الإنتاج.
CopyFail Guard يثبت الأشياء التي يمكن للمشغلين التصرف بناءً عليها بأمان:
للحصول على حالة الثغرة الأمنية النهائية، ادمج هذه الأداة مع استشارات البائع/جرد الحزم وأدلة إعادة التشغيل.
CopyFail Guard هو تخفيف، وليس علاجًا. يقلل التعرض ويتحقق من الضوابط المؤقتة. الإصلاح الدائم يبقى نواة مصححة من البائع بالإضافة إلى إعادة التشغيل.
الأداة مصممة عن قصد لتكون clone-and-run للاستجابة للحوادث: لا حاجة لمترجم، ملفات رأس kernel، كود استغلال، أو مدير حزم تابع لجهة خارجية لسير عمل المضيف الأساسي. مطلوب python3 لمخرجات --json، وseccomp-patch، واختبار مأخذ AF_ALG غير الاستغلالي.
Clone-and-run:
git clone https://github.com/juliosuas/copyfail-guard.git
cd copyfail-guard
chmod +x bin/copyfail-guard.sh
sudo ./bin/copyfail-guard.sh doctor
sudo ./bin/copyfail-guard.sh assess
sudo ./bin/copyfail-guard.sh mitigate --yes
sudo ./bin/copyfail-guard.sh verify
تثبيت نظام اختياري:
git clone https://github.com/juliosuas/copyfail-guard.git
cd copyfail-guard
sudo ./scripts/install.sh
sudo copyfail-guard status
يدعم المثبت تثبيت المصدر والوجهة للطرح المُتحكم به:
sudo env COPYFAIL_GUARD_REF=v0.3.0 ./scripts/install.sh
استخدم أحدث إصدار معلّم لـ COPYFAIL_GUARD_REF عند توفر إصدارات أحدث.
تعزيز الحاويات / CI:
./bin/copyfail-guard.sh seccomp-patch docker-default.json copyfail-seccomp.json
docker run --security-opt seccomp=./copyfail-seccomp.json IMAGE
تحقق من أن AF_ALG محظور داخل حاوية محمية:
docker run --rm \
--security-opt seccomp=./copyfail-seccomp.json \
-v "$PWD/tools:/tools:ro" \
python:3.12-alpine \
python /tools/afalg-socket-test.py
النتيجة المتوقعة في حالة الحماية:
BLOCKED: socket(AF_ALG) denied by policy (...)
انظر عينة المخرجات للأحكام المتوقعة، شكل JSON، ونتائج التحقق من الحاويات.
Copy Fail هي تصعيد امتيازات محلية في نواة لينكس في مكون algif_aead من واجهة برمجة التطبيقات المشفرة AF_ALG للمستخدم. تصف الاستشارات العامة بدائية كتابة ذاكرة تخزين مؤقت للصفحات يمكن الوصول إليها من قبل مستخدمين محليين غير مميزين وخطيرة بشكل خاص على أنظمة ذات نواة مشتركة: عقد Kubernetes، مشغلات CI/CD، مضيفين متعددي المستأجرين، صناديق رمل للوكلاء، وأجهزة المطورين.
الإصلاح الصحيح هو تحديث النواة من البائع يحتوي على التراجع/الإصلاح من المنبع وإعادة التشغيل على النواة المصححة. CopyFail Guard هو مساعد عمليات دفاعية للنافذة قبل اكتمال إعادة التشغيل عبر الأسطول.