Zero Day Initiative | Blog на русском
Подписаться
CVE-2024-0244 – переполнение буфера в куче принтера Canon MF753Cdw
В этой публикации подробно описывается обнаружение и использование CVE-2024-0244, уязвимости в принтере Canon MF753Cdw. Исследователь использовал предыдущий опыт работы с принтерами Canon для изучения менее очевидных служб. Они сосредоточились на драйвере факса, обнаружив, что он отправляет SOAP-сообщения на принтер. Неправильно сформированный бинарный полезный груз в этих сообщениях, в частности большой номер факса назначения, вызвал переполнение буфера на куче. Это переполнение привело к уязвимости произвольного освобождения памяти (free()), когда контролируемый указатель передавался в функцию free(). Для эксплуатации этого потребовался многоэтапный процесс с использованием проприетарного протокола Canon BJNP. Сначала фиктивные блоки памяти кучи размещались по известным адресам с использованием BJNP. Затем шеллкод был загружен по другому известному адресу BJNP. Было инициировано произвольное освобождение памяти, поместившее фиктивный блок BJNP в список свободных блоков. Последующее выделение памяти в куче повторно использовало этот блок. Наконец, этот повторно использованный блок был перезаписан через другую сессию BJNP для перенаправления указателя функции на загруженный шеллкод. Это позволило выполнить произвольный код, что было продемонстрировано отображением DOOM на экране принтера. В заключение автор отмечает растущую безопасность принтеров Canon и предвидит будущие исследования для Pwn2Own Ireland 2026.