
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 चाइल्ड
setuid-root /bin/su की कैश्ड ELF एंट्री को setgid(0)+setuid(0)+execve("/bin/sh") shellcode से अधिलेखित कर देता है।
make
./packet_edit_meme
./packet_edit_meme --ubuntu # AppArmor-gated Ubuntu: aa-exec bypass first
| Distro | Kernel | Flag | Result |
|---|---|---|---|
| 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 दो sysctls के ज़रिए unconfined विशेषाधिकार-रहित userns को अस्वीकार करता है:
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