Сбой очистки памяти в стеке RDS позволяет локальному пользователю Linux получить root

linux

Локальный пользователь Linux без административных прав может получить полный контроль над машиной из-за ошибки в сетевом коде ядра. Уязвимость CVE-2026-43502 известна под именем ZcopyReaper. Она затрагивает путь отправки данных без копирования в протоколе RDS, а опубликованный эксплойт (код, использующий уязвимость) уже доступен. Исследователь Yuan Tan из компании NebuSec описал проблему 7 сентября 2026 года в рассылке oss-security. Сам идентификатор CVE присвоили 21 мая 2026 года. Оценка по CVSS v3.1 составляет 7.8, по CVSS v4.0 - 8.5.

Уязвимость ZcopyReaper (CVE-2026-43502)

Суть в неверной очистке памяти. RDS (Reliable Datagram Sockets, протокол надёжной доставки датаграмм) ядро применяет там, где нужна быстрая и надёжная передача сообщений между узлами. При отправке без копирования, её ещё называют zerocopy, ядро не дублирует данные из памяти процесса, а закрепляет страницы и передаёт их дальше без лишних копий. Иногда такая отправка срывается после закрепления страниц. Сообщение при этом ещё не попало в очередь сокета. Путь очистки ошибочно решает, что оно владеет обычными страницами полезной нагрузки. Учёт закреплённых страниц и освобождение служебных структур идут не в том порядке. Внутреннее состояние ядра становится несогласованным, и этим можно воспользоваться для получения прав root. Побочный эффект той же ошибки - нестабильность системы, вплоть до отказа в обслуживании.

Существенно, чего для атаки не требуется. Нужен только локальный доступ к уязвимой машине, без повышенных прав, возможностей ядра и пользовательских пространств имён. Последнее обстоятельство важно. Отключение непривилегированных пользовательских пространств имён давно используют как защитную меру против локальной эксплуатации ядра. Здесь она не работает. Достаточно, чтобы ядро было собрано с поддержкой RDS и RDS поверх TCP. Если RDS собран модулями, уязвимость остаётся достижимой, пока модули загружены или могут загрузиться автоматически. Автозагрузка срабатывает и без действий администратора. Свой результат NebuSec воспроизвела на openSUSE с ядром 6.4.0-150600.23.100.

Ошибка появилась в ядре 4.17, выпущенном в 2018 году, и прожила до 7.1-rc3. Исправление внесли коммитом 44b550d88b26. Исправленные выпуски стабильных ветвей - 5.10.258, 5.15.209, 6.1.175, 6.6.140, 6.12.88, 6.18.30 и 7.0.7. Уязвимы версии от 4.17 до 7.0.7, кроме этих исправленных. Разброс большой. Под него попадают системы, обновлявшиеся годами, и устройства, где ядро приходит вместе с прошивкой.

Обновления для ядра уже вышли у Debian, Red Hat, SUSE и Ubuntu. Debian выпустила уведомления DLA-4664-1, DLA-4665-1 и DLA-4671-1. SUSE опубликовала свои бюллетени в июле 2026 года. В Ubuntu исправления доступны для 26.04 LTS (ядро 7.0.0-28.28), 24.04 LTS (6.8.0-136.136) и 22.04 LTS (5.15.0-186.196). Выпуск 20.04 LTS пока остаётся уязвимым. Владельцам нестандартных сборок стоит свериться с поставщиком: список дистрибутивов не исчерпывающий.

Что делать администраторам. Первое - установить обновлённое ядро и перезагрузиться, потому что исправление в ядре вступает в силу только после перезапуска. Второе - проверить, включены ли RDS и RDS поверх TCP и загружены ли модули rds.ko и rds_tcp.ko либо доступны для автоматической загрузки. Если протокол на машине не нужен, разумно запретить загрузку модулей. Третье - настроить мониторинг так, чтобы неожиданная загрузка этих модулей и признаки повышения привилегий не остались незамеченными.

Контекст у истории не менее важен, чем сама уязвимость. NebuSec сообщила, что ZcopyReaper - одна из более чем двадцати уязвимостей ядра Linux, эксплуатацию которых подтвердили и для которых опубликовали рабочий код. Все они найдены автоматической системой генерации эксплойтов, а материалы выложили в открытом репозитории CyberMeowfia. Среди соседних примеров - CVE-2026-43501 и CVE-2026-43074.

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

Ссылки

Комментарии: 0