Архив метки: xfrmESP

Про уязвимость Elevation of Privilege - Linux Kernel "Fragnesia" (CVE-2026-46300)

Про уязвимость Elevation of Privilege - Linux Kernel Fragnesia (CVE-2026-46300)

Про уязвимость Elevation of Privilege - Linux Kernel "Fragnesia" (CVE-2026-46300). Уязвимость обнаружил исследователь William Bowling вместе с командой V12. Fragnesia относится к классу уязвимостей Dirty Frag. Это ошибка в подсистеме ESP/XFRM, отличная от Dirty Frag, для которой был выпущен собственный патч. Она позволяет добиться произвольной побайтовой записи в кэш страниц ядра (kernel page cache) для файлов, доступных только для чтения, без race condition.

🛠 Технические детали и код эксплоита были опубликованы 15 мая. Публичный эксплойт модифицирует содержимое /usr/bin/su в кэше страниц ядра, затем запускает /usr/bin/su, в результате чего пользователь получает root-овый shell. При этом бинарный файл на диске не изменяется. Перезагрузка или очистка кэша восстанавливает нормальное поведение системы.

⚙️ Fragnesia затрагивает те же версии ядра, что и Dirty Frag. Любой дистрибутив, поставляющий ядро без патча от 13 мая, уязвим. Уязвимость была подтверждена на Ubuntu 6.8.0-111-generic (сборка от 11 апреля 2026 года). Отслеживайте появление обновлений пакетов ядра для ваших дистрибутивов Linux.

Для систем, где обновление ядра невозможно, эффективен тот же workaround, что и для Dirty Frag (занесение модулей в blacklist). Системы, в которых был применён workaround против Dirty Frag, уже защищены от Fragnesia. Системы, на которых были только установлены обновления против Dirty Frag без применения workaround-а, остаются уязвимыми и требуют установки новых обновлений против Fragnesia.

Про уязвимость Elevation of Privilege - Linux Kernel "Dirty Frag" (CVE-2026-43284, CVE-2026-43500)

Про уязвимость Elevation of Privilege - Linux Kernel Dirty Frag (CVE-2026-43284, CVE-2026-43500)

Про уязвимость Elevation of Privilege - Linux Kernel "Dirty Frag" (CVE-2026-43284, CVE-2026-43500). По информации исследователя Hyunwoo Kim (@v4bel), Dirty Frag - это уязвимость (класс уязвимостей), которая позволяет локальному непривилегированному злоумышленнику получить права root на большинстве Linux-дистрибутивов путем объединения уязвимости xfrm-ESP Page-Cache Write (CVE-2026-43284) и уязвимости RxRPC Page-Cache Write (CVE-2026-43500). Эксплуатация этой цепочки позволяет злоумышленнику полностью скомпрометировать систему: получить доступ к любым файлам, отключить защиту, закрепиться в системе и использовать хост для дальнейших атак.

⚙️🛠 Описание цепочки уязвимостей, технический write-up и эксплойт были опубликованы 7 мая. Эксплуатабельность была подтверждена на актуальных дистрибутивах Ubuntu 24.04.4, RHEL 10.1, openSUSE Tumbleweed, CentOS Stream 10, AlmaLinux 10, Fedora 44. Уязвимость xfrm-ESP Page-Cache Write присутствует в ядре начиная с cac2661c53f3 (2017-01-17) и вплоть до актуальной upstream-версии, а уязвимость RxRPC Page-Cache Write присутствует в ядре начиная с 2dc334f1a63a (2023-06) и вплоть до актуальной upstream-версии. Другими словами, фактический срок присутствия этих уязвимостей в ядре составляет около 9 лет.

Информация об уязвимости и эксплойт были опубликованы до появления пакетов, устраняющих уязвимость в дистрибутивах. Как сообщает исследователь, 7 мая он отправил подробную информацию об уязвимости и эксплоите в список рассылки linux-distros. Эмбарго было установлено на 5 дней, с соглашением, что если третья сторона опубликует эксплойт в интернете в течение этого периода, эксплойт "Dirty Frag" будет опубликован в открытом доступе. В тот же день так и произошло, информация утекла в паблик, эмбарго было нарушено. 🤷‍♂️ После чего уже сам исследователь сделал full disclosure.

Аналогичная громкая уязвимость прошлой недели Elevation of Privilege - Linux Kernel "Copy Fail" (CVE-2026-31431) послужила мотивацией для начала исследования "Dirty Frag". Как сообщает исследователь, xfrm-ESP Page-Cache Write в "Dirty Frag" использует тот же sink, что и "Copy Fail". Однако "Dirty Frag" срабатывает независимо от того, доступен ли модуль algif_aead. Иными словами, даже в системах, где применён workaround для "Copy Fail" (blacklist для algif_aead), Linux остаётся уязвимым для "Dirty Frag".

Почему используется цепочка из двух уязвимостей? Как сообщает исследователь, xfrm-ESP Page-Cache Write предоставляет мощный примитив произвольной 4-байтной записи (STORE) ("powerful arbitrary 4-byte STORE primitive"), аналогичный Copy Fail, и присутствует в большинстве дистрибутивов, однако для его использования требуется привилегия на создание namespace. В Ubuntu создание непривилегированных user namespace иногда блокируется политикой AppArmor. В такой среде xfrm-ESP Page-Cache Write не может быть вызван ("triggered"). RxRPC Page-Cache Write не требует привилегии на создание namespace, однако сам модуль rxrpc.ko отсутствует в большинстве дистрибутивов. Тем не менее, в Ubuntu модуль rxrpc.ko загружается по умолчанию. Объединение двух вариантов в цепочку позволяет перекрыть слепые зоны друг друга, что даёт возможность получить root-привилегии на всех основных дистрибутивах.

По состоянию на 8 мая исправление для xfrm-ESP Page-Cache Write (CVE-2026-43284) было замержено в основную ветку ядра, а исправление для RxRPC Page-Cache Write (CVE-2026-43500) ещё нет. Следует отслеживать появление пакетов обновлений CVE-2026-43284, CVE-2026-43500 для используемых Linux-дистрибутивов и своевременно устанавливать их. В качестве workaround-а исследователь уязвимости предлагает скрипт, который запрещает загрузку модулей esp4, esp6 и rxrpc, пытается выгрузить их из ядра и очищает кэш памяти Linux:

sh -c "printf 'install esp4 /bin/false\ninstall esp6 /bin/false\ninstall rxrpc /bin/false\n' > /etc/modprobe.d/dirtyfrag.conf; rmmod esp4 esp6 rxrpc 2>/dev/null; echo 3 > /proc/sys/vm/drop_caches; true"