The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Fragnesia - уязвимость в ядре Linux, позволяющая получить root через изменение страничного кэша

13.05.2026 21:23 (MSK)

В ядре Linux выявлена четвёртая за последние две недели уязвимость (CVE-2026-46300), позволяющая непривилегированному пользователю получить права root, перезаписав данные в страничном кэше. Уязвимости присвоено кодовое имя Fragnesia или Copy Fail 3.0. Суть уязвимости аналогична ранее раскрытым уязвимостям Copy Fail и Dirty Frag. Как и в случае с Dirty Frag новая уязвимость присутствует в подсистеме xfrm-ESP, но вызвана другой ошибкой и требует отдельного исправления. Доступен рабочий эксплоит.

Уязвимость проявляется в ядрах Linux, выпущенных после 5 мая, из-за случайной активации исправлением уязвимости Dirty Frag. Для устранения уязвимости Fragnesia для ядра Linux было предложено исправление. Анализ данного исправления показал, что его недостаточно, после чего был подготовлен второй вариант патча.

Уязвимость присутствует в подсистеме xfrm в реализации механизма инкапсуляции протокола ESP (Encapsulating Security Payload) в TCP (ESP-in-TCP, RFC 8229), применяемой для туннелирования трафика IPsec поверх TCP. Для исключений лишней буферизации операции с использованием алгоритма AES-GCM выполнялись по месту через выполнение операции XOR к данным в страничном кэше. Из-за логической ошибки, возникали условия, позволяющие перезаписать 1 байт в страничном кэше по выбранному смещению. Повторяя операции можно байт за байтом изменить содержимое любого файла в страничном кэше.

Все операции чтения из файлов в первую очередь отдают содержимое из страничного кэша. В случае модификации данных в страничном кэше операции чтения из файла приведут к возвращению не реально хранимой на накопителе информации, а подменённых данных. Эксплуатация уязвимости сводится к изменению страничного кэша для исполняемого файла с флагом suid root, предварительного прочитанного для попадания в страничный кэш. В предложенном исследователями эксплоите первые 192 байт файла /usr/bin/su в страничном кэше перезаписываются кодом для запуска /usr/bin/sh. Последующий запуск утилиты "su" приводит к тому, что в память будет загружен не оригинальный исполняемый файл с накопителя, а изменённая копия из страничного кэша.

Для эксплуатации уязвимости Fragnesia в системе должно быть разрешено создание пространств имён идентификаторов пользователей (user namespace). В Ubuntu подобная операция по умолчанию запрещена, но может быть разрешена через sysctl "kernel.apparmor_restrict_unprivileged_userns=0" или профили AppArmor. В остальных дистрибутивах доступность "user namespace" непривилегированным пользователям зависит от выставления sysctl "kernel.unprivileged_userns_clone" (если 0, то запрещено).

Обновления с исправлениями для ядра Linux и пакетов с ядром в дистрибутивах пока не опубликованы. Статус устранения уязвимостей в дистрибутивах можно оценить на данных страницах: Debian, Ubuntu, SUSE/openSUSE, RHEL, Gentoo, Arch, Fedora. В качестве обходного пути защиты можно заблокировать загрузку модулей ядра esp4 и esp6:


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


  1. Главная ссылка к новости (https://www.openwall.com/lists...)
  2. OpenNews: Уязвимости Dirty Frag, изменяющие страничный кэш для получения root в любых дистрибутивах Linux
  3. OpenNews: Copy Fail - уязвимость в ядре Linux, позволяющая получить root в большинстве дистрибутивов
  4. OpenNews: Атака по определению состояния памяти процессов при помощи страничного кэша
  5. OpenNews: Уязвимость в ядре Linux, позволяющая исказить файлы, доступные только для чтения
  6. OpenNews: В ядре Linux выявлен новый вариант уязвимости Dirty COW
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65441-fragnesia
Ключевые слова: fragnesia, kernel, linux
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (16) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.6, Аноним (6), 22:38, 13/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >Уязвимость проявляется в ядрах Linux, выпущенных после 5 мая

    https://www.kernel.org

     
     
  • 2.19, Аноним (19), 23:39, 13/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Нужен новый линукс. отдельно ядро, отдельно права, каждый модуль отдельно. Свои ядра процессора, регистры, память и файловая система. Даёшь каждому процессу по собственному компу!
     

  • 1.14, L29Ah (ok), 23:34, 13/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    sysctl: cannot stat /proc/sys/kernel/unprivileged_userns_clone: No such file or directory
     
     
  • 2.21, L29Ah (ok), 23:39, 13/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    я думаю правильная строчка для проверки выглядит как unshare -U -r id
     

  • 1.17, Аноним (17), 23:37, 13/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    >из-за случайной активации исправлением уязвимости Dirty Frag

    Одно лечим, другое калечим.

     
  • 1.20, Аноним (20), 23:39, 13/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > проявляется в ядрах Linux, выпущенных после 5 мая, из-за случайной активации исправлением уязвимости Dirty Frag

    Там Линус вообще хоть что-то проверяет?!

     
     
  • 2.26, Аноним (17), 23:52, 13/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Тут надо систему управления проектом менять.
     
     
  • 3.35, Аноним (35), 00:39, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    "Да тут всё прогнило, всю систему нужно менять"
     
  • 2.27, Аноним (6), 23:53, 13/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Так а откуда такой негатив ? Это же хорошо, что нашли и будут исправлять.
     
     
  • 3.29, Аноним (17), 00:00, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Для устранения уязвимости Fragnesia для ядра Linux было предложено исправление. Анализ данного исправления показал, что его недостаточно, после чего был подготовлен второй вариант патча.

    Исправили dirty frag -> появилась fragnesia -> исправили -> опять уязвимость -> второй вариант исправления -> ... "и этот сон никогда не закончится ..."

     
     
  • 4.30, Аноним (6), 00:05, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А какие есть варианты ?
    «Не ошибается тот, кто ничего не делает».
     
     
  • 5.32, Аноним (32), 00:14, 14/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > «Не ошибается тот, кто ничего не делает».

    Ошибается или портачит, вот в чём вопрос.

     
  • 5.33, Аноним (33), 00:23, 14/05/2026 Скрыто ботом-модератором     [к модератору]
  • +1 +/
     

  • 1.34, Аноним (34), 00:32, 14/05/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.36, Аноним (35), 00:41, 14/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    А разгадка oдна: безблагодатность убогого монолита, мапящего всю память на запись.
     
  • 1.37, Аноним (37), 00:44, 14/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Что, опять?
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2026 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру