BatBadBut — критическая брешь Rust, допускающая атаки на Windows-устройства

BatBadBut — критическая брешь Rust, допускающая атаки на Windows-устройства

В типовой библиотеке 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.