CVE-2026-31431: آسیبپذیری Copy Fail در کرنل لینوکس
خلاصهٔ کاملتر
Copy Fail (CVE-2026-31431) یه آسیبپذیری جدی در کرنل لینوکسه که به مهاجم اجازه میده بدون تغییر دادن فایل روی دیسک، دادههای page-cache (حافظه کش فایلها در RAM) رو دستکاری کنه. به این معنا که اگه سیستمی فقط یکپارچگی فایلهای دیسک رو بررسی کنه، هیچوقت متوجه این حمله نمیشه.
ابزار copyfail-detect یه مجموعه شناسایی لایهبهلایهست که با ترکیب چند روش مختلف سعی میکنه این خلأ امنیتی رو پوشش بده. این پروژه توسط جامعه دفاع سایبری روی پژوهشهای Theori و Xint Code ساخته شده که آسیبپذیری رو مسئولانه افشا کردن.
قلب این ابزار، مانیتور eBPF هستش که بالاترین دقت رو داره. این مانیتور فعالیت AF_ALG رو زیر نظر میگیره، تلاشهای bind مربوط به authencesn رو استخراج میکنه، splice() های مشکوک رو ردیابی میکنه و در نهایت همه این رویدادها رو با هم کورلیت میکنه تا یه هشدار با اطمینان بالا برای زنجیره اکسپلویت تولید کنه:
sudo python3 detect/ebpf/copyfail_monitor.py
sudo python3 detect/ebpf/copyfail_monitor.py --jsonلایه دوم تشخیص، قوانین auditd هستن که ساخت سوکت AF_ALG، سیستمکالهای مشکوک و خواندن فایلهای حساس رو در حین اکسپلویت شناسایی میکنن. بعد از اعمال قوانین میشه با ausearch نتایج رو بررسی کرد.
لایه سوم ابزار مقایسه page-cache با دیسکه. این ابزار بعد از اکسپلویت احتمالی اجرا میشه و تفاوت بین دادههای in-memory و فایل واقعی روی دیسک رو پیدا میکنه:
sudo python3 detect/pagecache-check/pagecache_diff.pyیه نکته مهم اینه که این ابزار ممکنه صفحه خرابشده رو از حافظه بیرون بنده (page eviction)، پس اگه نیاز به شواهد فارنزیک داری، قبل از اجرا حافظه رو حفظ کن.
برای بررسی سریع اینکه سیستم در معرض خطره یا نه، یه اسکریپت چک آسیبپذیری هم وجود داره که فقط از یه فایل موقت استفاده میکنه و به فایلهای سیستمی دست نمیزنه:
python3 check/is_vulnerable.pyمیتیگیشن فوری هم غیرفعال کردن algif_aead هستش که با یه اسکریپت bash انجام میشه. پروژه همچنین شامل قوانین Sigma برای SIEMها و مستندات IOC و فارنزیک برای تیمهای پاسخ به حادثهست. Kernel fix هم در commit a664bf3d603d اعمال شده.
نکات کلیدی:
- Copy Fail دادههای page-cache رو خراب میکنه بدون تغییر فایل دیسک، پس IDS های سنتی ازش میگذرن
- مانیتور eBPF بالاترین دقت رو داره و فعالیت AF_ALG و splice() مشکوک رو real-time رصد میکنه
- لایههای تشخیص شامل eBPF، auditd، مقایسه page-cache و قوانین Sigma میشه
- ابزار page-cache diff ممکنه صفحه خراب رو evict کنه؛ اول حافظه رو ذخیره کن
- میتیگیشن فوری: غیرفعال کردن algif_aead
- CVE: CVE-2026-31431 — کرنل فیکس: commit a664bf3d603d




