Изображение в BIM-модели: может ли IFC стать носителем вредоносного кода?BIM-модель обычно воспринимается как набор геометрии, параметров и атрибутивной информации. Однако современные форматы обмена позволяют передавать и дополнительные ресурсы, в т.ч. изображения. Возникает закономерный вопрос, а может ли обычная картинка, встроенная, например, в семейство Revit, стать источником заражения при передаче модели в формате IFC?
Начнём с технической стороны. IFC действительно предусматривает механизмы работы с изображениями. Например, IfcImageTexture позволяет ссылаться на изображение по внешнему адресу, IfcBlobTexture – включать его непосредственно в IFC в виде двоичных данных, а IfcPixelTexture – представлять изображение как массив пикселей. Последние два механизма позволяют хранить содержимое изображения непосредственно в структуре данных IFC. Это предусмотрено спецификацией buildingSMART.
При этом наличие таких возможностей в стандарте не означает, что любая картинка из семейства Revit автоматически попадёт в экспортированную IFC-модель. Всё зависит от способа использования изображения и реализации экспортёра. Более того, Autodesk отдельно
указывает, что текстуры материалов и некоторые связанные с ними параметры не экспортируются из Revit в IFC, из-за чего может теряться визуальное соответствие исходной модели.
Отдельного внимания заслуживает стеганография – метод сокрытия информации внутри других данных, например изображения. В отличие от криптографии, которая скрывает содержание сообщения, стеганография позволяет скрыть сам факт наличия сообщения. Дополнительные данные могут размещаться непосредственно в пикселях изображения или его метаданных таким образом, чтобы визуально картинка практически не менялась.
В контексте BIM это означает, что изображение, встроенное в семейство Revit и передаваемое в составе IFC, теоретически может выступать контейнером для скрытой информации. Это могут быть произвольные данные, в т.ч. фрагменты вредоносной нагрузки. Однако их наличие само по себе не приводит к заражению, т.к. необходим механизм извлечения и исполнения либо уязвимость программного обеспечения, обрабатывающего файл.
Именно последний сценарий представляет практический интерес. Специально сформированный файл или изображение может использовать ошибки в ПО для выполнения вредоносного кода либо нарушения его работы.
Это не гипотетическая проблема. В 2021 году была
обнаружена уязвимость CVE-2021-37202 в IFC-адаптере Siemens NX и Solid Edge. Обработка специально сформированного IFC-файла могла привести к выполнению произвольного кода в контексте работающего приложения.
В 2025 году Autodesk
опубликовала предупреждение об уязвимости CVE-2025-5037. Специально сформированный файл RFA, RTE или RVT при обработке в Revit мог вызвать повреждение памяти и позволить выполнить произвольный код. Уязвимость затрагивала Revit 2023-2026.
Но наиболее наглядные примеры связаны непосредственно с изображениями.
В апреле 2025 года Autodesk
сообщила об уязвимости CVE-2025-1275. Специально сформированный JPG-файл при подключении или импорте в Revit, AutoCAD и ряд других продуктов Autodesk мог вызвать переполнение кучи. Последствия включали аварийное завершение приложения, чтение чувствительных данных и выполнение произвольного кода в контексте текущего процесса.
В августе 2026 года Autodesk
опубликовала ещё одно предупреждение – CVE-2026-7406. На этот раз речь шла об обработке специально сформированного BMP-файла. Уязвимость позволяла добиться выполнения произвольного кода в процессе работы приложения. В перечень затронутых продуктов вошли Revit 2024-2027 и ряд продуктов линейки AutoCAD.
В том же бюллетене описана CVE-2026-7405, связанная с обработкой TIF-файлов. Она могла привести к отказу в обслуживании приложения.
Есть и
пример непосредственно с IFC. В сентябре 2026 года Autodesk сообщила об уязвимости CVE-2026-14255. Специально сформированный IFC-файл при обработке в определённых продуктах Autodesk мог вызвать неконтролируемую рекурсию и аварийное завершение приложения.
Речь идёт об отказе в обслуживании, а не о подтверждённом выполнении произвольного кода.
В конечном счёте IFC – это не просто контейнер геометрии. И относиться к нему исключительно как к безобидному файлу обмена данными было бы ошибкой.
И еще, все те же проблемы не обходят стороной и отечественное ПО.
📸 bimsert