Разкрита е информация за две нови уязвимости в ядрото на Linux, които позволяват на непривилегирован потребител да получи права root, записвайки данни в страничния кеш. За двете уязвимости са подготвени работещи експлоити.
- PEdit-CoW (CVE-2026-46331, експлоит 1, експлоит 2) — грешка при прилагане на механизма copy-on-write в кода за промяна на заглавията на пакетите (act_pedit), използван в планировщика на мрежови пакети (net/sched), позволяваща записването на данни извън определения буфер, което може да се използва за презаписване на данни в страничния кеш по избрано отместване. Грешката е предизвикана от това, че проверката на допустимата област за запис на данни е извършвана без да се отчита, че отместването на редактираните полета може да се промени по време на изпълнението на операцията.
Проблемът се проявява с ядрото на Linux 5.18 и е отстранен в версиите 7.1, 7.0.13, 6.18.36 и 6.12.94. Заявена е възможността за експлоатация на проблема в RHEL 8/9/10, Debian 11/12, openSUSE Leap 15.6, SUSE Linux 15-SP7/16.0 и Ubuntu 18.04-25.10 (в версия Ubuntu 26.4 по подразбиране е блокирано създаването на user namespace). Като обходен маршрут за защита се препоръчва блокирането на зареждането на модула на ядрото act_pedit (правилата за ограничаване на трафика и презаписване на заглавията чрез „tc pedit“ няма да функционират)
echo "blacklist act_pedit" > /etc/modprobe.d/blacklist-act-pedit.conf
rmmod act_pedit - DirtyClone (CVE-2026-43503, експлоит) — обходен маршрут за експлоатация на уязвимостта Dirty Frag в модула xfrm-ESP, използван за ускоряване на операциите по шифроване в IPsec с помощта на протокола ESP (Encapsulating Security Payload). За клониране на структурата skb в новия експлоит се използва манипулация с разширението TEE към netfilter (модула xt_TEE), което извършва операцията по клониране на мрежовите пакети.
Уязвимостта е отстранена в версиите на ядрото Linux 7.1, 7.0.10, 5.10.257, 5.15.208, 6.1.174, 6.6.141, 6.12.91 и 6.18.33. Проблемът се проявява в Debian, Ubuntu, Fedora,
RHEL и SUSE. Като обходен маршрут за блокиране на уязвимостта можете да забраните зареждането на модулите на ядрото esp4 и esp6.
За експлоатация на и двете уязвимости са необходими права за достъп CAP_NET_ADMIN, които непривилегированият потребител може да получи чрез създаване на пространства с идентификатори на потребители (user namespace). В Ubuntu подобна операция по подразбиране е забранена, но може да бъде разрешена чрез sysctl "kernel.apparmor_restrict_unprivileged_userns=0" или профили AppArmor. В останалите дистрибуции достъпността на "user namespace" за непривилегировани потребители зависи от настройката на sysctl "kernel.unprivileged_userns_clone" (ако е 0, то е забранено).
Експлоатацията на уязвимости се свежда до четене на файла на програмата /bin/su с флаг suid root, за да се осигури помещаването му в страничния кеш и замяната в страничния кеш на част от кода на програмата с код за стартиране на /bin/sh. Последващото стартиране на програмата ще доведе до зареждане в паметта не на оригиналния изпълним файл от носителя, а на променената копия от страничния кеш.
Допълнително може да се отбележи създаването на експлойт за уязвимостта CVE-2026-23111 в подсистемата nf_tables, отстранена в февруарските актуализации на ядрото на Linux. Уязвимостта е причинена от опит за достъп до паметта след нейното освобождаване (use-after-free) и позволява на непривилегирован потребител да получи права root в системата. За атаката и потребителят трябва да има възможност за създаване на пространства с идентификатори на потребители (user namespace). Работата на експлойта е демонстрирана в
Debian 12/13 и Ubuntu 22.04/24.04.
Източник: opennet.ru
