
Локальный PoC повышения привилегий для CVE-2026-74469, эксплуатирующий повреждение памяти ядра в диагностическом ответе SCTP для получения root на системах Linux x86-64.
[!WARNING] PoC предоставлен исключительно для того, чтобы помочь защитникам, мейнтейнерам и авторизованным командам безопасности проверить патчи, меры защиты, детектирование и подверженность на системах, которыми они владеют или которые им явно разрешено тестировать.
Вы несёте полную ответственность за то, чтобы использование этого материала было законным, авторизованным, контролируемым и проводилось в изолированной тестовой среде.
[!WARNING] Этот PoC деструктивен. Он перезаписывает примерно 8 МиБ памяти ядра и оставляет повреждённые таблицы страниц, удерживаемые держателем жертвенной памяти
diagspill_hold, до перезагрузки. Убийство этого процесса может дестабилизировать ядро.Несвязанная память может быть повреждена, и машина может уйти в панику. Запускайте только в одноразовой ВМ/временном хосте.
PoC:
sudo и отсоединяет процесс,
удерживающий повреждённые отображения.PoC предполагает и нацелен на x86-64, чтобы всё было проще. Теоретически баг не должен быть архитектурно-специфичным.
Перечисляем исчерпывающе для полноты:
6.17.0-35-generic или Fedora 44 с
6.19.10-300.fc44.x86_64 (можно попробовать убрать эти проверки, но другие
дистрибутивы/версии ядра могут потребовать настройки/подготовки под конкретную цель)MemTotal между 3 700 000 и 4 200 000 КиБ_ или -/root или sudo без пароляsctp_diag в ядре, выделение прозрачных огромных страниц, достаточные
лимиты процессов/файлов для 2 048 воркеров и стены диагностических сокетов, а также
достаточное адресное пространство x86-64 и память для удержания около 2 343 МиБ таблиц
страниц на Ubuntu или 3 125 МиБ на Fedora/etc/sudoers.d и исполняемый /usr/bin/sudo/usr/bin/env, с заголовками разработки libc и Linux UAPI,
, , , и PoC очень чувствителен к количеству vCPU и объёму RAM, поэтому он требует 4 vCPU и 4 ГБ RAM. Для других комбинаций vCPU/памяти, скорее всего, потребуется настройка/подготовка под конкретную цель.
Запускайте его как непривилегированный пользователь с записью в passwd; PoC может занять некоторое
время на построение большой SCTP-ассоциации.
python3 diagspill_root_repro.py
После запуска (успешного или нет) перезагрузите машину, чтобы освободить
diagspill_hold, для безопасности. Если вы убьёте его напрямую, вы почти наверняка
дестабилизируете ядро.
ccidsudotrueshrm