The OpenNET Project / Index page

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

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

19.05.2026 17:51 (MSK)

Раскрыта информация о шестой уязвимости (1, 2-3, 4, 5), позволяющей непривилегированному локальному пользователю получить права root, перезаписав данные в страничном кэше. Уязвимость получила кодовое имя PinTheft. Доступен прототип эксплоита. CVE-идентификатор ещё не присвоен. Исправление пока доступно только в виде патча, который опубликован 5 мая и 11 мая был принятв ветку netdev, но не включён в корректирующие выпуски ядра.

Уязвимость присутствует в реализации сетевого протокола RDS (Reliable Datagram Sockets), предназначенного для высокоскоростного обмена сообщениями между узлами в кластере, с минимальной задержкой и гарантированной доставкой. Атака возможна на системы с включённой подсистемой io_uring (io_uring_disabled=0) и ядром, собранным с опциями CONFIG_RDS, CONFIG_RDS_TCP и CONFIG_IO_URING. Для работы эксплоита в системе должен быть доступный на чтение исполняемый файл с флагом SUID-root.

Для автоматической загрузки модуля ядра rds_tcp эксплоит запрашивает отправку данных через RDS с использованием транспорта SO_RDS_TRANSPORT=2. Отмечается, что среди протестированных дистрибутивов Linux в конфигурации по умолчанию модуль ядра rds предоставляется только в Arch Linux. Для блокирования уязвимости обходным путём можно заблокировать автозагрузку модулей ядра rds и rds_tcp:


   rmmod rds_tcp rds
   printf 'install rds /bin/false\ninstall rds_tcp /bin/false\n' > /etc/modprobe.d/pintheft.conf

Уязвимость вызвана ошибкой в реализации механизма zerocopy в функции rds_message_zcopy_from_user(), осуществляющей прямое изменение данных в страничном кэше для исключения лишней буферизации. В случае сбоя не производилась очистка поля rm->data.op_nents, из-за чего выполнялось двойное освобождение буфера (double-free). Появление некорректного значения в счётчике ссылок удалось эксплуатировать для перезаписи данных в страничном кэше, благодаря манипуляции с указателем на фиксированный буфер io_uring.

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

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


Обсуждение (35) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 18:24, 19/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +9 +/
    Ну что, тысяча глаз наконец подъехала, теперь заживём!

    Осталось только придумать, как их отучить давать уязвимостям дурацкие названия…

     
     
  • 2.6, Аноним (6), 18:29, 19/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    https://opennet.ru/64574-bug
     
  • 2.15, Аноним (15), 18:40, 19/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Это не название, а мэмы.
     
  • 2.33, Аноним (33), 19:07, 19/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Как и писал для 5-ой по счету:

    "Чую дальше будет. Сейчас будут идти по каждому кейсу, где используется эта zero-copy оптимизация...".

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

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

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

     
     
  • 3.35, Аноним (15), 19:18, 19/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Когда патчи принимали - не возражали. Как ав анекдоте: "Всем работа хороша. Только как пожар - хоть увольняйся."
     

  • 1.2, Аноним (2), 18:24, 19/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Я так больше не могу
     
     
  • 2.5, Аноним (5), 18:28, 19/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Смеяться устал?
     
  • 2.14, Аноним (6), 18:39, 19/05/2026 Скрыто ботом-модератором     [к модератору]
  • –1 +/
     

  • 1.3, Аноним (3), 18:24, 19/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Не опять, а снова!
     
     
  • 2.9, Аноним (15), 18:35, 19/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Да какое новое. Всё то же.
     
  • 2.12, Аноним (15), 18:35, 19/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Уже не пять, а больше.
     

  • 1.4, Аноним (6), 18:26, 19/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Выпуск 7.1 интересно отложат из-за проверок и перепроверок ?
    https://kernel.org
     
  • 1.7, Аноним (7), 18:31, 19/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    С микроядром такие проблемы бы были?
     
     
  • 2.10, Stanislavvv (ok), 18:35, 19/05/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Думаю, такие же. Страничный кеш из ядра вряд ли вытащить.
     
     
  • 3.13, Аноним (5), 18:38, 19/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, нет. При классической реализации.

    ФС - один модуль.
    Работа сетевых протоколов - другой.

    Промискуитет - только через сообщения.

     
     
  • 4.17, Аноним (15), 18:44, 19/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Что нет сообщения передачи прямой ссылки?
     
     
  • 5.24, Аноним (5), 18:57, 19/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А это уже смотря кто как наколхозит. Для быстроты.

    В оригинали модули - каждый в своем пространстве.

    Классический уже пример:
    NT 3.5, достаточно жесткая модульность. Безопасно, но медленно.
    NT 4.0, видеоподсистему вынесли в исключения.
    Понеслась...

     
     
  • 6.28, Аноним (15), 19:01, 19/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Так и тут корень зарыт в in-place оптимизаторах. Изначально передавались копии. Появились оптимизаторы, которые сделали передачу прямых ссылок на кэш. Не кэширование suid файлов позволит подстраховаться от таких "поборников" производительности.
     
  • 6.30, Аноним (15), 19:03, 19/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    На диски файлы защищены ФС. В памяти си-программы они общие (в отличие от rust).
     
     
  • 7.34, Аноним (5), 19:12, 19/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Человече, мы про модули ядра речь ведем. И архтектуру работы с памятью вообще.

    Зачем ты СЮДА свою ржавчину несешь?

    Там, по канону, у каждого модуля - свое адресное пространство. И невозможность работы напрямую с другим, ибо кольцо защиты другое и работа с LDT/GDT в случае с i386+ модулю заказана - прав нет. И взаимодествие через копирование данных из пространства модуля другому модулю или конечному потребителю.

     
  • 2.19, Аноним (19), 18:45, 19/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Никуда они не делись бы. Другое дело, что последствия были бы более локализованы. Возможно. Как показывает практика браузеров, все эти сандбоксы и прочие рантайм ограничения просто требуют нескольких отдельных багов в коде для успешной эксплуатации.

    Но я думаю на круг ситуация была бы лучше, одного бага недостаточно для эксплойта, и соответственно была бы большая задержка между нахождением бага и появлением эксплоита. А это значит что упрощается процесс латания дыр и распространения патчей по работающим системам. Меньше спешки.

     
     
  • 3.26, Аноним (5), 19:00, 19/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Вот, в точку. Смотрим на яблоко с его микроядром. Выход из сандбокса, чаще всего, результат серии мелких багов. Почти всегда.
     

  • 1.8, Аноним (15), 18:34, 19/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Может не кэшировать suid файлы?
     
     
  • 2.11, Stanislavvv (ok), 18:35, 19/05/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Проще от них таки избавиться, по-моему.
     
  • 2.32, Всем Анонимам Аноним (?), 19:06, 19/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Это просто одна из возможностей, а так если в ядро попал, то только воображение ограничивает как это можно эксплуатировать
     

  • 1.16, 12yoexpert (ok), 18:40, 19/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    вот кому это интересно? кто запускает у себя на серверах или домашних пк проприетарь?
     
     
  • 2.18, aname (ok), 18:45, 19/05/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Каждый, кто запускает вменяемые программы
     
     
  • 3.20, 12yoexpert (ok), 18:50, 19/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    ваши тройки уже начали вменять запуск малвари?

    ах да, забыл про предустановку, прости

    соболезную, но не от всего сердца

     
  • 2.21, Аноним (21), 18:55, 19/05/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    А при чём здесь проприетарщина? Взломают автосборочку = в бинарнике троян, хотя исходники чистые. Или завладеют какой-нибудь зависимостей и будет атака на цепочку поставок. Да что угодно может быть, включая злой умысел автора.
     

  • 1.22, ryoken (ok), 18:57, 19/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Ящик Пандоры какой-то...
     
  • 1.23, Аноним (19), 18:57, 19/05/2026 Скрыто ботом-модератором [﹢﹢﹢] [ · · · ]     [к модератору]
  • +/
     
  • 1.27, Аноним (27), 19:01, 19/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Политикан заигрался в политику и прос*** ядро. Ядро все. А вы как думаете?
     
     
  • 2.31, 12yoexpert (ok), 19:03, 19/05/2026 [^] [^^] [^^^] [ответить]  
  • +/
    мы не думаем, мы повинуемся воле Единой России

    всё остальное - от диавола

     
     
  • 3.36, Аноним (36), 19:19, 19/05/2026 Скрыто ботом-модератором     [к модератору]
  • +/
     

  • 1.37, Аноним (37), 19:20, 19/05/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Кринж-нейминг доставляет.
     

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



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

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