
PoC для CVE-2022-26809, анализ и соображения представлены на github.io.
PoC для CVE-2022-26809, анализ и соображения показаны в github.io.
PoC был написан с переопределением функций Impacket.
Протестировано с: impacket версия 0.10.0
PoC не был полностью протестирован, потому что он должен вызвать уязвимость, т.е. целочисленное переполнение, которое приводит к переполнению буфера в куче, достигается после отправки 1048576 пакетов, так как 1048576*4096 переполняет 32-битное целое число.
Не нашел способа обмануть размер, мне кажется, что длина фрагмента (16 бит) проверяется на соответствие реальному размеру полезной нагрузки, они должны быть согласованы.
Ограничения:
Проект содержит уязвимую и исправленную версию библиотеки rpcrt dll, а RPC-сервер находится здесь: RPC Server
Наконец, я написал PoC в конце анализа, чтобы бросить себе вызов и узнать немного больше о реализации RPC.
Анализ, который привел меня к написанию этого PoC, находится на моем GithubPages