
Демонстрационные эксплойты для CVE-2022-0185, переполнение буфера в куче ядра Linux. Включает повышение привилегий на основе FUSE и версию kctf, достигающую root RCE через цепочку ROP в пространстве ядра, нацеленную на Kubernetes.
Этот репозиторий содержит демонстрационные эксплойты для CVE-2022-0185. Здесь представлены две версии.
Версия non-kctf (версия на основе FUSE) нацелена конкретно на Ubuntu с версией ядра 5.11.0-44. Она не возвращает напрямую рутовую оболочку, но делает /bin/bash suid, что ведёт к тривиальной эскалации привилегий. Настройка смещений single_start и modprobe_path должна позволить ей работать на большинстве других версий Ubuntu с версией ядра 5.7 и выше; для версий между 5.1 и 5.7 потребуется улучшить спам, как в версии kctf. Стратегия эксплуатации опирается на эластичные объекты FUSE и SYSVIPC для достижения произвольной записи.
Версия kctf достигает RCE в качестве пользователя root в корневом пространстве имён, но имеет надёжность не более 50% — она нацелена на Kubernetes 1.22 (1.22.3-gke.700). Эта стратегия эксплуатации опирается на каналы (pipes) и эластичные объекты SYSVIPC для запуска stack pivot и выполнения ROP-цепочки в пространстве ядра.
демо против Ubuntu с версией ядра 5.13.0-25