про эксплойт дев
Андрей Чижов разобрал полный путь от краша процесса до рута на vCenter через CVE-2024-38812 (CVSS 9.8) - запись за границы буфера в библиотеке libDCE RPC, в функции
RPCSSNDR_ALLOC.суть бага:
служба vmdird слушает на порту 2012, принимает DCE/RPC-пакеты, разбирает IDL-структуры, и нигде не проверяет границы выделенной памяти. собранный пакет с нужной структурой пишет за пределы буфера.
от примитива записи до исполнения кода дорога интереснее. рандомизация адресного пространства мешает, адреса неизвестны, но у каждого потока свой стек, и через них можно вытягивать адреса из памяти, постепенно вычисляя нужные смещения. не угадал, vmdird падает.
служба LVMSD автоматически его перезапускает, то есть можно перебирать смещения сколько угодно, процесс сам поднимается после каждого падения.
vmdird начинает принимать сетевые запросы до того, как успевает сбросить привилегии.
код исполняется от рута.
без аутентификации, по сети, запись за границы буфера, утечки адресов через стеки потоков, бесконечные попытки благодаря автоматическому перезапуску и исполнение кода от root на vCenter удаленно.