Проблема была выявлена специалистами компании Checkmarx, которые провели анализ исходного кода во время тестирования безопасности в рамках своей внутренней программы по поиску уязвимостей.
Недостаток безопасности, зарегистрированный как CVE-2024-8374, связан с возможностью выполнения произвольного кода через файловый формат 3MF, используемый для 3D-моделирования и печати. Cura, одно из самых популярных open-source решений для нарезки 3D-моделей, оказалось уязвимым к инъекции кода при загрузке 3MF файлов, пишет Securitylab.
Исследователи выяснили, что проблема кроется в методе «convertSavitarNodeToUMNode», где отсутствует проверка введённых данных при использовании функции «eval». Это позволяет злоумышленникам внедрять произвольные команды в 3MF файлы, которые автоматически выполняются при их загрузке в Cura, даже без начала процесса нарезки. Таким образом, изменённая модель с виду может оставаться полностью легитимной, что делает её идеальным инструментом для атак на пользователей.
Эксперты отметили, что данная уязвимость представляет особую опасность в контексте атак на цепочки поставок. Вредоносные модели могут распространяться через популярные базы данных 3D-моделей, такие как Printables и Thingiverse, или через открытые хранилища, что создаёт риски для секторов, связанных с национальной безопасностью и здравоохранением.