В типовой библиотеке Rust нашли критическую уязвимость — BatBadBut, которую можно использовать в атаках на пользователей Windows. Согласно описанию, брешь допускает внедрение вредоносных команд.
Проблеме присвоили идентификатор CVE-2024-24576, по шкале CVSS она получила максимальные 10 баллов. Эксплойт сработает только в случае вызова пакетных файлов в Windows с ненадёжными аргументами.
«Проблема в том, что библиотека Rust некорректно экранирует аргументы при вызове пакетных файлов (с расширениями bat и cmd) в системах Windows через API Command», — объясняет команда Rust Security Response.
«В таких условиях атакующий может взять под контроль аргументы, передаваемые в вызываемый процесс, а также выполнить произвольные шелл-команды с обходом экранирования».
Уязвимость затрагивает версии Rust до 1.77.2. На проблему указал исследователь в области кибербезопасности под ником RyotaK.
«Брешь под кодовым именем BatBadBut влияет на несколько языков программирования и возникает в момент оборачивания функции CreateProcess (в Windows) и добавления механизма экранирования аргументов команды», — пишет RyotaK.
Специалист посоветовал переместить пакетные файлы в каталог, не включённый в переменную среды PATH.