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

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.

Anti-Malware Яндекс ДзенПодписывайтесь на канал "Anti-Malware" в Telegram, чтобы первыми узнавать о новостях и наших эксклюзивных материалах по информационной безопасности.

70% opensource-проектов редко фиксятся или заброшены

Согласно результатам исследования, проведенного в ИБ-компании Lineaje, 95% уязвимостей в приложениях возникают по вине подключаемых компонентов с открытым кодом. В половине случаев ситуацию невозможно исправить из-за отсутствия патча.

Более того, 70% opensource-проектов, на которые полагается рабочий софт, уже не поддерживаются либо находятся в неудовлетворительном состоянии. Статистика получена на основе анализа более 7 млн пакетов с открытым исходным кодом.

Примечательно, что проекты, за состоянием которых хорошо следят, оказались в 1,8 раза более уязвимыми, чем заброшенные, — видимо, частые изменения повышают риск привнесения ошибок.

Подобная опасность также выше, когда над проектом работают менее 10 или более 50 человек. В первом случае риск просмотреть проблему безопасности на 330% превышает показатель для команды средней величины, во втором — на 40%.

Проблему усугубляет тот факт, что зависимость может содержать до 60 слоев разнородных компонентов с открытым кодом, объединенных в одну структуру — как лего. В этом случае сложно не только оценить риски, но и принять меры для смягчения последствий эксплойта.

Исследование также показало, что 15% opensource-компонентов в приложениях с зависимостями имеют множество версий, что тоже затрудняет латание дыр. Софт средней величины в ходе работы может подтягивать 1,4 млн строк кода, написанного на 139 языках, в том числе небезопасных по памяти.

Треть подключаемых пакетов (34%) имеют американское происхождение, 13% — российское. В 20% случаев разработчик из США — аноним; для России этот показатель вдвое ниже.

Anti-Malware Яндекс ДзенПодписывайтесь на канал "Anti-Malware" в Telegram, чтобы первыми узнавать о новостях и наших эксклюзивных материалах по информационной безопасности.

RSS: Новости на портале Anti-Malware.ru