Профиль: Аноним (вход | регистрация) неRU opennet.me  
The OpenNET Project / Index page

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

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

26.06.2026 23:51 (MSK)

Раскрыта информация о двух новых уязвимостях в ядре 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.

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


Обсуждение (51) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, Аноним (1), 00:24, 27/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Опять? Это какой уже раз, 5?
     
     
  • 2.3, Аноним (3), 00:29, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • –4 +/
    Так выводы же не делают. Давно пора принимать коммиты исключительно на раст. А на си только фиксы уязвимостей.
     
     
  • 3.6, Аноним (6), 00:47, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Давно пора сменить систему управления проектом вместе с начальством.
     
     
  • 4.29, Аноним (29), 05:20, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +4 +/
    Так сделай же форк, и стань начальником раз такой умный
     
  • 3.24, Аноним (24), 05:03, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А новый функционал? На раст ведь переписывают, а не пишут.
     
  • 3.48, Аноним (48), 07:48, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Это вопрос не раста, а оптимизаций. Либо перекладывать байты из буфера в буфер, тратя на это процессор и оперативку, либо переписывать буфер на месте. И тут уже совершенно не важно - чем ты будешь этот буфер переписывать, шансы улететь за его пределы одинаковые и у раста и си.
     
  • 2.4, Аноним (4), 00:31, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Восьмой:
    https://www.opennet.me/65325
    https://www.opennet.me/65395 x2
    https://www.opennet.me/65441
    https://www.opennet.me/65473
    https://www.opennet.me/65476
    https://www.opennet.me/65504
     
  • 2.5, Аноним (6), 00:40, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • –3 +/
    Я ж говорил, что через неделю новые будут.
     
  • 2.9, Аноним (9), 01:46, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Не опять, а снова!
     
  • 2.40, Василий (??), 06:25, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Это один в один как с уязвимостями, эксплуатирующие изъян со спекулятивным выполнением команд ЦПУ. Нужно ждать радикального решения проблемы с отравлением страничного кэша. Но когда отцы основатели решат, хз.
     

  • 1.2, Аноним (3), 00:28, 27/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Сейчас бы послушать тех, кто тут заливает, что AI ничего не может и раст не нужен.
     
     
  • 2.7, Аноним (-), 01:06, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Лучше бы слушали тех, кто про микроядро говорил.
     
  • 2.8, Аноним (8), 01:36, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Гораздо хуже не то, что AI чего-то не может, в этом случае с ним бы поигрались, ... большой текст свёрнут, показать
     
  • 2.10, Аноним (9), 01:47, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Сломать всегда проще, чем создать
     
  • 2.11, Аноним (11), 01:51, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Вопрос не в том, может ли AI (Adolf Itler) что-то или не может, вопрос в том, может ли человек доверять ему и выявлять западло им подложенное и скрытое, хотя бы логической обфускацией.

    А раст... Существует ли раст без ансафе? А то стоит как бочка варенья с размешанной в ней ложкой дерьма, а "сиротки" "страдающие" от наСИлия хавают, хавают...

     
     
  • 3.12, q (ok), 03:10, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > бочка варенья с размешанной в ней ложкой дерьма

    Она не размешана, а строго изолирована блоком unsafe. В твоей аналогии, это ложка дерьма, запечатанная в варенье-непроницаемый пакетик. Можно его в любой момент извлечь, заменив safe-кодом. Ну а в сишке буквально каждая вторая строка unsafe. Что уж говорить, там даже int + int = undefined behavior.

     
  • 2.13, Ivan_83 (ok), 03:46, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    AI бывает разный, есть тут у меня - он ничего не может кроме генерации нейрослопа :)
    Есть получшее, генерят рабочие или почти рабочие примеры кода на заданную тематику (я обычно спрашиваю на уровне функций).
    Есть которые хорошо анализируют код, но тоже им часто мерещится всякое.
    Но тут на том кто этот AI пользует отвественность, чтобы он проверял каждый его вывод а не верил всему подряд.

    Я уже видел идиотов с AI, им AI подтверждает и аргументирует любой их бред, в итоге они становятся ещё глупее, а кое кого наверное и в дурку после такого закрывают, на хабре был пример.

    Раст реально не нужен, с приходом AI он устарел, теперь AI может пройтись по C коду как анализатор и подсказать что лучше исправить.

     
     
  • 3.14, Аноним (14), 04:03, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Раст реально не нужен, с приходом AI он устарел, теперь AI может пройтись по C коду как анализатор и подсказать что лучше исправить.

    По чем пройти? По 40+ миллионам кодовой базы?

    И кто будет читать эти квинтиллионы ворнингов потом?

     
     
  • 4.15, Анонимный Ананас (?), 04:08, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Пусть нейросети тупо берут и переписывают каждый файл с c++ на раст, в чём проблема?
     
     
  • 5.16, Аноним (14), 04:11, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ну если output не в /dev/null, то проблема будет с тем, что это просто слоп. В лучшем случае кое-как работающий.
     
  • 5.22, Ivan_83 (ok), 04:58, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    В том, что это на несколько порядков больше ресурсов потребует, а результат будет в случем случае такой же как от фикса С кода.
     
  • 4.21, Ivan_83 (ok), 04:57, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Не вижу проблемы.
    По линуксам, фрям и прочим прошлись уже, никто не помер.
     
     
  • 5.37, Аноним (14), 06:06, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    И толку? Допустим прошлись, но мы с Вами общаемся в топике про очередную уязвимость.

    А по факту, во сколько обходится по времени и деньгам проход всей кодовой базы того же ядра, тем же Mythos, с парой триллионов активных параметров?

    Я сильно сомневаюсь, что ним прошлись по всему ядру.

     
     
  • 6.44, Ivan_83 (ok), 07:00, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А зачем делать это часто?
    Обычно есть предрелизная заморозка кода, вот во время неё и прогонять.

    Целиком - тоже не обязательно, у той же фри 100500 своих утилит которые не часто трогают, если с прошлого релиза не трогали то и прогонять не обязательно.
    Да и утилиты мелкие им много параметров не надо.

    Лично я прогоняю уже именно перед релизом.
    А в процессе мне хватает -Wall (и ещё пары подобных флагов).

    Как итог для ИИ код приходит уже без тупых ошибок и мелочёвки, и остаётся только сложное и интересное.

     
  • 3.18, q (ok), 04:34, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > AI может пройтись по C коду как анализатор и подсказать что лучше исправить

    Ты действительно не отличаешь аналоговый анализ (на уровне "вайба", "ощущений") от формально-верифицируемых? Ну попробуй использовать LLM как калькулятор. Скажем, попроси его вычислить квадратный корень от 146, и сравни результат с реальным калькулятором. Причем это еще легкая задача, если сравнивать с растовской задачей по разбором всех мест, где ссылка боровится, мувится или шарится как-то еще. Как ребенку надо объяснять, ей богу. LLM никогда не будет формально-верифицируемым. Это тебе не A.L.I.C.E., где все паттерны прописывались вручную. Это тебе не OWL reasoners, где по RDF-стейтментам можно вычислить новые факты, используя формальную логику (используется в медицине). Это тебе не пролог, где тоже можно было отследить, по какой-такой причине Socrates is mortal (потому что Socrates is a Human, and a Human is mortal).

     
     
  • 4.19, Аноним (8), 04:46, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Ну попробуй использовать LLM как калькулятор. Скажем, попроси его вычислить квадратный корень от 146

    Вы встали на скользкую дорожку. Современные нейросети - давно не нейросети, а обвязка из кучи утилит. Подобно тому, как нейросеть может сформировать запрос и найти информацию в интернете, она точно так же может вызывать калькулятор или статический анализатор. Человек не понимающий отличие между калькулятором и нейросетью будет крайне легко введён в заблуждение.

     
     
  • 5.23, q (ok), 05:01, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > точно так же может вызывать калькулятор или статический анализатор

    Читай его коммент внимательнее: "теперь AI может пройтись по C коду как анализатор". Подразумевая, что си-анализаторы тоже не нужны, так как существуют ЛЛМ.

     
     
  • 6.27, Ivan_83 (ok), 05:09, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Статические анализаторы - для них почти ничего не осталось, после того как в компилятор все варнинги повключаешь.
     
     
  • 7.30, q (ok), 05:21, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > для них почти ничего не осталось, после того как в компилятор все варнинги повключаешь

    Остались лишь такие пустяки, как ownership, move semantics и borrowing.

     
     
  • 8.36, Ivan_83 (ok), 06:01, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Это всё решается на архитектурном уровне, то что это опустили на уровень языка г... текст свёрнут, показать
     
     
  • 9.39, q (ok), 06:14, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А на уровне языка это решается надежнее ИИ пишет хз что, так как срисован с чел... текст свёрнут, показать
     
     
  • 10.43, Ivan_83 (ok), 06:56, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    На уровне языка который претендует на замену крестам и даже С это костыль Типа ... текст свёрнут, показать
     
     
  • 11.45, q (ok), 07:21, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ты явно не программист, ибо не владеешь базовой терминологией Костыль -- это ко... текст свёрнут, показать
     
  • 5.25, Ff (?), 05:03, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Подсели на чужой каравай чек поинт принт чай , а всего то говорилось на чужой каравай и так далее , за чужой поинт вернуть средства.
     
  • 4.26, Ivan_83 (ok), 05:08, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Эта ваша формальная верифицируемость существует в вакууме, до первых ERRATA для платформы и ошибок в памяти.
    Но как отмазка: я нивиноват, кампелятором раста клянусь! - вполне годно.

    Мне хватит и того чтобы прога делала что нужно и не падала.
    Компелятор с варнингами, статические анализаторы и AI для этого более чем достаточно.
    Верификация мне не интересна, я не грамарнаци.

     
     
  • 5.28, q (ok), 05:19, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Так раст и есть конпелятор с варнингами и стат анализатор, додик. ИИ никогда не заменит точные инструменты. Даже в тех задачах, где от ИИ требуется что-то вычислить, правильнее его спрашивать написать одноразовый питоноскрипт, чем пытаться заставлять его вычислять квадратные корни в уме.

    Твой ИИ бесполезен без стат анализаторов.
    ИИ сам считает себя бесполезным без стат анализаторов.

    Раст+ИИ лучше, чем Си+ИИ. И нет, Си+ИИ не лучше просто раста без ИИ.

    Rust+AI > Rust > C+AI > C

     
     
  • 6.31, Ivan_83 (ok), 05:35, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Потому что AI только повторяет базу обучения, вот он и пишет вам что раст лучше.

    По мне так на раст молятся некоторые крестовики, которые на крестах творят всякую дичь в том числе и с указателями, что потом в этом бардаке никто разобратся и починить не может.

    Если же проект изначально с хорошей архитектурой и разбивкой на модули, то всё сводится к горе простейших С функций, которые легко проанализировать и валидировать по отдельности и между которыми чёткие и понятные связи/отношения.

    И от AI в таком случае требуется смотреть на всякие человеческие ошибки, уровня передали a,a хотя должны были передать a,b, не корректные применения функций и всякие другие интересные случаи.
    Да, бывает по запарке и "индекс массивы" кто то посчитает не корректно или после десятка валидных мержей результат становится невалидным - тут AI хороший помошник, лишние глаза которые не устают.

     
     
  • 7.38, q (ok), 06:11, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Потому что AI только повторяет базу обучения, вот он и пишет вам что раст лучше

    Он повторяет обычную логику: в точных задачах, точные инструменты лучше вайбовых. Докажи обратное.

    > всё сводится к горе простейших С функций, которые легко проанализировать и валидировать по отдельности

    В хелловорлд-проектах -- да. В чем-то посложнее начинаются неизбежные оптимизации вроде шаренного стейта, и тут уже изменение в одном месте резко влияет на всё остальное. Удачи всунуть весь проект в контекст ЛЛМ!

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

     
     
  • 8.42, Ivan_83 (ok), 06:52, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Так и С не даёт писать код эта, ойпта, быра сделай мине биткойн этот самый с 1... текст свёрнут, показать
     
     
  • 9.46, q (ok), 07:32, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Не распарсил твой пример Изъясняйся на русском Делает В растовых проектах мак... текст свёрнут, показать
     
  • 3.20, Аноним (8), 04:49, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А вы молодец. В вашей голове уживаются одновременно две мысли:
    >Я уже видел идиотов с AI, им AI подтверждает и аргументирует любой их бред, в итоге они становятся ещё глупее
    >Раст реально не нужен, с приходом AI он устарел

    Вы определитесь, AI это хорошо или плохо?

     
     
  • 4.32, Ivan_83 (ok), 05:36, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    AI хорошо, раст ненужно.
    Не вижу там противоречий.
     
  • 2.35, Аноним (35), 05:48, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > раст не нужен

    Нет, не нужен. Есть Frama C, SPARK, Isabelle, Rocq и много ещё чего. На них, правда, не нанейрослопишь, на них думать нужно, а у растоманов, как известно, с этим проблемы - постоянно логические ошибки допускают.

     

  • 1.17, Аноним (17), 04:12, 27/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    user namespace - источник дыр.

    Хотели как лучше, а получилось как всегда (c)

     
     
  • 2.34, Ivan_83 (ok), 05:41, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Не то чтобы.
    Иногда бывает идея хорошая, но реализация изначально такая что потом никакими парустрочными коммитами/фиксами не исправить, только выкинуть/переписать.
    ringbuf такой же в линуксе.
    Но остальные подсистемы вроде вполне, судя по новостям с ошибками.
     
     
  • 3.47, Аноним (17), 07:40, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    В io_uring регулярно дыры находят, вроде.
     

  • 1.33, Ivan_83 (ok), 05:38, 27/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Хотел было порекомендовать простой фикс для всех проблем с pagecache: флюшить/не использовать для setuid процессов, но там же начнут passwd и прочие файлы так же "перезаписывать"...

    Но как обычно почти всё сводится: не включай неймспейсы...

     
     
  • 2.51, Аноним (1), 08:00, 27/06/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А другой универсальной изоляции не придумали. Если тут полагаются на баги в кэше, то без неймспейсов векторов атаки намного больше.
     

  • 1.41, Syndrome (ok), 06:32, 27/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Уязвимости в подсистеме «user namespaces», а не в ядре Линукса. Заголовок не помешало бы исправить.
     
  • 1.49, ИмяХ (ok), 07:55, 27/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >>Проблема проявляется начиная с ядра Linux 5.18

    C сайта kernel.org:
    Linux 5.18 was released on Sunday, 22 May 2022.
    Бэкдор успешно проработал четыре года. А сколько бэкдоров в нём ещё работает?

     
  • 1.50, openssh_user (ok), 07:55, 27/06/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Есть пробитие
     
     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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