
أداة لنظام لينكس تتحقق من توفر `AF_ALG`/`algif_aead` وتساعد في تقييم المخاطر المتعلقة بـ `CVE-2026-31431`.
أداة تشخيصية لنظام Linux تتحقق من:
AF_ALG / algif_aead وتساعد في تقييم المخاطر المتعلقة بـ CVE-2026-31431 (فشل النسخ)؛xfrm-ESP Page-Cache Write + RxRPC Page-Cache Write) عبر المكونات esp4، esp6، rxrpc وتطبع إجراءات التخفيف.الأداة مخصصة للفحص الدفاعي وليست استغلالًا.
socket + bind لـ AF_ALG AEAD؛/proc/modules، modules.builtin، modules.builtin.modinfo؛rpm/سجل تغييرات Debian)؛AF_ALG (/proc/*/fd، بأفضل جهد)؛بالإضافة إلى ذلك لـ Dirty Frag:
esp4، esp6، rxrpc (محملة / مدمجة / غير معروفة)؛socket(AF_NETLINK, NETLINK_XFRM) و socket(AF_RXRPC) دون تغيير إعدادات النظام؛1.24+؛/proc/*/fd يُفضَّل التشغيل بصلاحيات root.نقطة الدخول موجودة في جذر المشروع، ويتم البناء من الجذر:
go build -o itsumma-afalg-check .
./itsumma-afalg-check
عند البدء:
Itsumma Security Check — AF_ALG / CVE-2026-31431
بعد ذلك:
AF_ALG (socket + bind)؛modules.builtin؛af_alg و algif_aead (محملة / مدمجة / غير معروفة)؛CVE-2026-31431 (بما في ذلك محاولة تحديد backport من المورّد)؛AF_ALG (إذا وُجدت)؛cat /proc/cmdline
echo 3 | sudo tee /proc/sys/vm/drop_caches
modprobe -n -v algif_aead
lsmod | grep '^algif_aead\b' || echo 'algif_aead not loaded'
./itsumma-afalg-check
بالنسبة لسيناريو المدمج (built-in)، بدلاً من modprobe/lsmod من المفيد أيضًا التحقق من:
dmesg | grep -i 'algif_aead\|initcall_blacklist'
الأمر من دليل التشغيل العام لـ Dirty Frag (يعطل تحميل esp4، esp6، rxrpc ويحاول إلغاء تحميل الوحدات المحملة بالفعل).
إذا كان IPSec / XFRM قيد الاستخدام (على سبيل المثال عبر strongSwan)، يُنصح بتنفيذ flush قبل إلغاء تحميل الوحدات:
sudo ip xfrm state flush
sudo ip xfrm policy flush
echo 3 | sudo tee /proc/sys/vm/drop_caches
إذا كانت esp4/esp6/rxrpc مدمجة (built-in) (تظهر فقط في modules.builtin)، فإن modprobe blacklist و rmmod لن يعطلاها: في هذه الحالة يلزم تحديث/إعادة بناء النواة.
بالنسبة لـ strongSwan بعد تثبيت libcharon-extra-plugins، فعّل kernel-libipsec:
sudo sed -i 's/^\s*load\s*=\s*no/load = yes/' /etc/strongswan.d/charon/kernel-libipsec.conf
sudo systemctl restart strongswan || sudo systemctl restart strongswan-starter
lsmod | egrep '^(esp4|esp6|rxrpc)\b' || echo 'esp4/esp6/rxrpc not loaded'
sudo modprobe esp4 esp6 rxrpc || true
sudo modprobe -r esp6 rxrpc
sudo modprobe -r esp4 || true
sudo rmmod -f esp4
sudo sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf; rmmod esp6 rxrpc 2>/dev/null; rmmod -f esp4 2>/dev/null; true"
الفحص اللاحق:
modprobe -n -v esp4 esp6 rxrpc
lsmod | egrep '^(esp4|esp6|rxrpc)\b' || echo 'esp4/esp6/rxrpc not loaded'
./itsumma-afalg-check
algif_aead يعني وجود سطح هجوم، لكن الاستنتاج النهائي يعتمد على إصدار النواة وترقيعات backport الخاصة بالتوزيعة.AF_ALG AEAD، يُعتبر المتجه غير متاح ضمن هذا الفحص.