
Примечание: Код в этом репозитории предназначен для демонстрации изоляции технологий защищённой песочницы для подов, таких как kata containers, и не направлен на атаку на какие-либо платформы.
echo 0 > /proc/sys/kernel/kptr_restrict
cat /proc/kallsyms
(gdb) p &(((struct task_struct *)0)->fs)
(gdb) p &(((struct task_struct *)0)->parent)
(gdb) p &(((struct fs_struct *)0)->root)
Реализация waitid в основных ядрах не ограничивала целевой адрес назначения для копирования результатов информации. Это может позволить локальным пользователям выполнять запись в защищённую память ядра, что может привести к повышению привилегий.
Ошибка была внесена 2017-05-21 и исправлена 2017-10-09.
Этот CVE уже исправлен в более поздних релизах ветки 4.13 и более новых основных ядрах. Тем не менее, могут существовать похожие CVE, допускающие повышение привилегий. Сам CVE на самом деле весьма похож на знаменитый dirty cow, CVE-2016-5195.
CVE-2017-5123.c использует эту уязвимость для изменения значения /proc/sys/vm/mmap_min_addr. Затем ядро Linux вызывает шелл-код для получения прав доступа к файлам root-пользователя хоста.