The OpenNET Project / Index page

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

GRO Frag - седьмая уязвимость класса Copy Fail, предоставляющая права root в Linux

22.05.2026 22:56 (MSK)

В открытом доступе размещён эксплоит для седьмой уязвимости (1, 2-3, 4, 5, 6) в ядре Linux, позволяющей непривилегированному локальному пользователю получить права root, перезаписав данные в страничном кэше. CVE-идентификатор ещё не присвоен, кроме кода эксплоита информации о проблеме пока нет. Исправление доступно только в виде патча, который опубликован 20 мая и 21 мая был принят в основную ветку ядра Linux (корректирующие выпуски ядра ещё недоступны).

Уязвимость присутствует в реализации технологии GRO (Generic Receive Offload), применяемой для ускорения обработки сегментированных пакетов. Уязвимость вызвана ошибкой в реализации механизма zerocopy в функции skb_gro_receive(), осуществляющей прямое изменение данных в страничном кэше для исключения лишней буферизации. При установленном флаге SKBFL_MANAGED_FRAG_REFS пропускалось сохранение ссылки на освобождаемые страницы памяти в поле shinfo->frags, после чего данное поле присоединялось к другому skb без изменения счётчика ссылок, что приводило к обращению к памяти после её освобождения (use-after-free). Проблему удалось эксплуатировать для перезаписи данных в страничном кэше, благодаря манипуляции с указателем на буфер io_uring.

Атака возможна на системы с включённой подсистемой io_uring (io_uring_disabled=0). Для работы эксплоита в системе должен быть доступный на чтение исполняемый файл с флагом SUID-root. Механизм эксплуатации сводится к тому, что атакующий добивается оседания базы пользователей в страничном кэше, после чего подставляет в кэш строку "hax::0:0::/root:/bin/sh". Следом запускается команда "su hax", которая получает не оригинальную базу пользователей с накопителя, а изменённую копию с подставным логином "hax", которому выставлены права root и пустой пароль. Работа эксплоита протестирована в Ubuntu 24.04.

  1. Главная ссылка к новости (https://gist.github.com/lcfr-e...)
  2. OpenNews: PinTheft - шестая уязвимость класса Copy Fail, предоставляющая права root в Linux
  3. OpenNews: DirtyDecrypt - очередная уязвимость класса Copy Fail, предоставляющая права root в Linux
  4. OpenNews: Fragnesia - уязвимость в ядре Linux, позволяющая получить root через изменение страничного кэша
  5. OpenNews: Уязвимости Dirty Frag, изменяющие страничный кэш для получения root в любых дистрибутивах Linux
  6. OpenNews: Copy Fail - уязвимость в ядре Linux, позволяющая получить root в большинстве дистрибутивов
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/65504-kernel
Ключевые слова: kernel
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (35) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 23:31, 22/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    Скоро ядро станет совсем надежным.
     
     
  • 2.7, Аноним (7), 00:22, 23/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Как и писал для 5-ой и 6-ой по счету:
    "Чую дальше будет. Сейчас будут идти по каждому кейсу, где используется эта zero-copy оптимизация...".

    Там уже поддержку хотят удалять.

    https://www.phoronix.com/news/Linux-AF-ALF-Zero-Copy-Security

    Короче, пока можно не ребутиться, это далеко не конец.

     

  • 1.2, Аноним (2), 23:34, 22/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >корректирующие выпуски ядра ещё недоступны

    Да у них там как в меме с собачкой «This is fine» =)
    То выпускали новые версии, а с 17 числа ничего, после 7.0.9:
    https://kernel.org

     
  • 1.3, Аноним (3), 23:37, 22/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не опять, а снова.
     
  • 1.4, Аноним (4), 23:39, 22/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Уязвимости в ядре как грибы после дождя: нашёл одну - поищи рядом ещё.
     
     
  • 2.15, Аноним (15), 01:35, 23/05/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Пока все были заняты внедрением поддержки раста, уязвимости наплодились после 2010 года...
     
  • 2.23, одвто7 (?), 02:54, 23/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо ИИ, что помогает находить закладки спецслужб 💪
     
     
  • 3.30, Аноним (15), 04:41, 23/05/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    * меняет старые на новые *
     

  • 1.6, Аноним (6), 23:56, 22/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +5 +/
    С кешом шутки плохи, где бы он ни был - в прикладных программах, ядрах ОС или процессорах. Надо уже какой-нибудь libcache сделать, чтобы каждый перестал городить свой огород в котором не может толком разобраться.
     
     
  • 2.34, Грустный (?), 06:50, 23/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Надо уже какой-нибудь libcache сделать

    Поручите эту задачу Claude Code, и он сам всё напишет. 😏

     

  • 1.8, Аноним (8), 00:30, 23/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Пора Линусу перестать качать за политику и кричать I'm Finnish и заняться ядром.
     
     
  • 2.11, Soltek (?), 00:34, 23/05/2026 Скрыто ботом-модератором     [к модератору]
  • +2 +/
     
  • 2.16, Аноним (15), 01:36, 23/05/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Пора Линусу перестать качать за политику

    Пора уже Finnish Him!

     
  • 2.35, ы (?), 07:03, 23/05/2026 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     

  • 1.9, НяшМяш (ok), 00:30, 23/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    С одной стороны печально. А с другой - это же теперь можно будет рутануть вообще любой старый андроид смартфон, чтобы превратить его во что-то полезное.
     
     
  • 2.17, Аноним (15), 01:37, 23/05/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > можно будет рутануть вообще любой старый андроид смартфон

    "Неможно", там всего этого нету.

     
     
  • 3.31, runoverheads (ok), 05:07, 23/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    ну что то есть.
    skb_gro_receive() есть с use-after-free.
    интерфейс с GRO есть на который можно открыть SOCK_STREAM:
    redfin:/ # ethtool -k wlan0 | grep generic-receive-offload
    generic-receive-offload: on
    нельзя только буфер io_uring подставить, отключён. тут не понятно есть ли другие пути.
     
  • 2.28, Дырик (?), 04:34, 23/05/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    2023, Google Limiting IO_uring Use Due To Security Vulnerabilities

    https://www.phoronix.com/news/Google-Restricting-IO_uring

     
     
  • 3.29, Аноним (7), 04:39, 23/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Слабаки.

    https://www.phoronix.com/news/QEMU-10.2-Released

     

  • 1.10, Soltek (?), 00:33, 23/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    И все эти уязвимостм потекли широкими реками после переписывания ядра на самый безопасный язык в мире... Nuff said
     
     
  • 2.12, X707 (?), 00:46, 23/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Нейронки просто подросли, стало намного проще сканить уязвимости, особенно известные паттерны. Хайпа много и преукрашиваний, но реально топовые модели, даже не пресловутый mythos, уже умеют очень много, включая даже ковыряние в бинарниках. Находят везде, вот от nginx до BSD.
     
     
  • 3.13, Аноним (2), 00:55, 23/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Хайпа много и преукрашиваний

    Так в поиске уязвимостей сами же эти компании и заинтересованы в первую очередь.
    Смотрите список участников:
    https://opennet.ru/65165-ai

     
  • 2.20, Аноним (20), 01:51, 23/05/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.14, Аноним (14), 00:55, 23/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Избавься от кэша и живи легко и счастливо. Операционная система вполне могла бы работать без страничного кэша в теории.
     
     
  • 2.18, Аноним (15), 01:39, 23/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > без страничного кэша

    со скоростью 80286.

     
  • 2.21, Аноним (20), 01:58, 23/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Операционная система вполне могла бы работать без страничного кэша в теории.

    Уважаемый ыксперд, как сделать mov из регистра в ssd?

     
     
  • 3.27, Аноним (14), 04:15, 23/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ничего незнаю про SSD. но с HDD всё работает.
     

  • 1.19, Аноним (20), 01:48, 23/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    >после чего данное поле присоединялось к другому skb без изменения счётчика ссылок

    Это классический пример того, почему си плохой язык. Изменение счётчика ссылок должно происходить автоматически, независимо от того, помнит об этом программист или нет.
    >что приводило к обращению к памяти после её освобождения (use-after-free)

    Опять ядро писали ненастоящие сишники. Настоящие сишники были бы внимательнее.

     
  • 1.22, Аноним (22), 02:01, 23/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    В принципе пропатчить и пересобрать ядро не проблема. Проблема обосновать применение патча для исправления уязвимости у которой нет идентификатора CVE.
     
  • 1.24, МеняВсеЗнают (?), 03:36, 23/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я пока на винде пережду этот шторм
     
  • 1.25, Гуманоид (?), 03:54, 23/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Огласите весь список пжлст..я уже устал ядро конпелять.
     
  • 1.26, Аноним (26), 04:09, 23/05/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.32, Аноним (32), 06:06, 23/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не надо было версию ядра поднимать так резко! Вон как кучно пошли! ;))
     
  • 1.33, Аноним (33), 06:40, 23/05/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.36, Tester (??), 07:34, 23/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Пора Торвальдс у признать что io uring очень глючный и печальный... За последнее время только он и светится в багах
     

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



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

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