Создание полноценного RCE-эксп... Заметка
RSS Zero Day Initiative - Блог

Создание полноценного RCE-эксплойта из сбоя при парсинге файлов RFA в Autodesk Revit

Автор исследовал сбой в Autodesk Revit 2025, первоначально обнаруженный путем фаззинга файлов RFA, что привело к уязвимости типа "путаница типов". Эта уязвимость возникла в результате десериализации типа std::pair. Сбой происходит, когда программа пытается вызвать деструктор для значения, не являющегося vtable. Автор использовал уязвимость для достижения удаленного выполнения кода. Исследование включало обратную разработку и отладку. Использовались такие инструменты, как IDA Pro, WinDBG и Time Travel Debugging. Облачная уязвимость цепочки поставок в плагине Axis Communications для Autodesk Revit, которая могла распространять поврежденные файлы RFA, значительно помогла в эксплуатации. Автор создал инструмент "CompoundFileTool" и еще один инструмент, имитирующий поведение Revit при gzip, которые были необходимы для эффективного изменения файлов RFA. Целью было манипулирование смещением 0x0 десериализованного объекта, чтобы оно указывало на управляемую vtable. В конечном итоге автор успешно добился выполнения произвольного кода, используя уязвимость типа "путаница типов". Исследование также включало обратную разработку и понимание формата RFA от Autodesk, включая формат сжатых данных в потоке Global/Latest.
CdXz5zHNQW_dJZTAjgLHS.jpeg