0x01 Введение
Ядро Linux — это основной компонент операционной системы Linux и основной интерфейс между компьютерным оборудованием и его процессами. Он отвечает за связь между ними, а также максимально эффективно управляет ресурсами.
Номер уязвимости: CVE-2023-32233.
Ядро Linux из системы подкласса Netfilter nf_tables существует повторное использование после выпуска лазейки,Из-за неправильной обработки наборов анонимности,При обработке пакетных запросов,Netfilter nf_tables(net/netfilter/nf_tables_api.c)
существовать вuse-after-freeлазейки,Эти лазейки можно использовать для выполнения произвольных операций чтения и записи в памяти ядра.,Успешное использование этой лазейкииз локального пользователя может привести к получению root-разрешения или к сбою системы.
v5.1-rc1 <= Linux Kernel <= 6.3.1
После запуска PoC на уязвимой изсистеме,Возможно, система находится в нестабильном состоянии.,И память ядра может быть повреждена. Рекомендуется протестировать PoC на выделенной системе.,Во избежание возможного повреждения данных.
Системная версия среды воспроизведения — ubantu23.04, ядро системы — 6.2.0-20.
Загрузите exp с https://github.com/Liuk3r/CVE-2023-32233 на виртуальную машину, а затем установите соответствующие зависимости.
sudo apt install gcc libmnl-dev libnftnl-dev
Скомпилировать опыт
gcc -Wall -o exploit exploit.c -lmnl -lnftnl
осуществлять./exploit
Вы можете видеть, что вы уже являетесь пользователем root.
Уязвимость устранена, и затронутые пользователи могут обновиться до следующих версий:
Linux kernel Версия>= 6.4-rc1
Linux kernel Версия< 5.1-rc1
https://www.openwall.com/lists/oss-security/2023/05/15/5
https://github.com/Liuk3r/CVE-2023-32233
Исторические дыры