OpenNews.opennet.ru: Основная лента (RSS Feed) on Nostr: GRO Frag - седьмая уязвимость класса Copy Fail, ...
GRO Frag - седьмая уязвимость класса Copy Fail, предоставляющая права root в Linux
В открытом доступе размещён эксплоит (
https://gist.github.com/lcfr-eth/2566a5cef312c94a5ff8d62fa417955f) для седьмой уязвимости (1 (
https://www.opennet.me/opennews/art.shtml?num=65325), 2-3 (
https://www.opennet.me/opennews/art.shtml?num=65395), 4 (
https://www.opennet.me/opennews/art.shtml?num=65441), 5 (
https://www.opennet.me/opennews/art.shtml?num=65473), 6 (
https://www.opennet.me/opennews/art.shtml?num=65476)) в ядре Linux, позволяющей непривилегированному локальному пользователю получить права root, перезаписав данные в страничном кэше. CVE-идентификатор ещё не присвоен, кроме кода эксплоита информации о проблеме пока нет. Исправление доступно только в виде патча (
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4db79a322db8), который опубликован 20 мая и 21 мая был принят в основную ветку ядра Linux (корректирующие выпуски (
https://kernel.org) ядра ещё недоступны).
Уязвимость присутствует в реализации технологии GRO (
https://docs.kernel.org/networking/segmentation-offloads.html) (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.
Источник:
http://www.opennet.me/opennews/art.shtml?num=65504 (
http://www.opennet.me/opennews/art.shtml?num=65504)
https://www.opennet.me/opennews/art.shtml?num=65504Published at
2026-05-25 10:44:28 CESTEvent JSON
{
"id": "87edc988f764085a1e111ecf3f81820f3e1f1fb9a196c92c75a6b2f8a1375bb1",
"pubkey": "8086a59cbc94dfa41a4d02b2a48dc28bff5b4b08915fadc85858cc5ef058023d",
"created_at": 1779698668,
"kind": 1,
"tags": [
[
"d",
"atomstr:https://www.opennet.me/opennews/art.shtml?num=65504"
],
[
"proxy",
"https://www.opennet.me/opennews/opennews_6_full.rss#https%3A%2F%2Fwww.opennet.me%2Fopennews%2Fart.shtml%3Fnum%3D65504",
"rss"
]
],
"content": "GRO Frag - седьмая уязвимость класса Copy Fail, предоставляющая права root в Linux\n\nВ открытом доступе размещён эксплоит (https://gist.github.com/lcfr-eth/2566a5cef312c94a5ff8d62fa417955f) для седьмой уязвимости (1 (https://www.opennet.me/opennews/art.shtml?num=65325), 2-3 (https://www.opennet.me/opennews/art.shtml?num=65395), 4 (https://www.opennet.me/opennews/art.shtml?num=65441), 5 (https://www.opennet.me/opennews/art.shtml?num=65473), 6 (https://www.opennet.me/opennews/art.shtml?num=65476)) в ядре Linux, позволяющей непривилегированному локальному пользователю получить права root, перезаписав данные в страничном кэше. CVE-идентификатор ещё не присвоен, кроме кода эксплоита информации о проблеме пока нет. Исправление доступно только в виде патча (https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git/commit/?id=4db79a322db8), который опубликован 20 мая и 21 мая был принят в основную ветку ядра Linux (корректирующие выпуски (https://kernel.org) ядра ещё недоступны). \n\nУязвимость присутствует в реализации технологии GRO (https://docs.kernel.org/networking/segmentation-offloads.html) (Generic Receive Offload), применяемой для ускорения обработки сегментированных пакетов. Уязвимость вызвана ошибкой в реализации механизма zerocopy в функции skb_gro_receive(), осуществляющей прямое изменение данных в страничном кэше для исключения лишней буферизации. При установленном флаге SKBFL_MANAGED_FRAG_REFS пропускалось сохранение ссылки на освобождаемые страницы памяти в поле shinfo-\u003efrags, после чего данное поле присоединялось к другому skb без изменения счётчика ссылок, что приводило к обращению к памяти после её освобождения (use-after-free). Проблему удалось эксплуатировать для перезаписи данных в страничном кэше, благодаря манипуляции с указателем на буфер io_uring. \n\nАтака возможна на системы с включённой подсистемой io_uring (io_uring_disabled=0). Для работы эксплоита в системе должен быть доступный на чтение исполняемый файл с флагом SUID-root. Механизм эксплуатации сводится к тому, что атакующий добивается оседания базы пользователей в страничном кэше, после чего подставляет в кэш строку \"hax::0:0::/root:/bin/sh\". Следом запускается команда \"su hax\", которая получает не оригинальную базу пользователей с накопителя, а изменённую копию с подставным логином \"hax\", которому выставлены права root и пустой пароль. Работа эксплоита протестирована в Ubuntu 24.04.\n\n \n\nИсточник: http://www.opennet.me/opennews/art.shtml?num=65504 (http://www.opennet.me/opennews/art.shtml?num=65504)\n\nhttps://www.opennet.me/opennews/art.shtml?num=65504",
"sig": "2d81059a5f34584eb3b4fb1ccc83018b948281b6d938b49d1137dd985c1517f6ec9449ab179ec9781d802b35c4d2752457f90afd0580cdea5d747a500b9c79d0"
}