11.04.2024 | BatBadBut: ошибка в Rust позволяет захватить компьютер без вашего ведома |
В стандартной библиотеке языка программирования Rust обнаружена уязвимость , позволяющая выполнять вредоносный код в Windows . CVE-2024-24576 (оценка CVSS: 10) связана с ошибкой механизма передачи команд и аргументов ОС, что позволяет аутентифицированному злоумышленнику удаленно выполнять вредоносный код без взаимодействия с пользователем. Атака обладает низкой сложностью исполнения. Группа по реагированию на угрозы безопасности Rust была уведомлена о том, стандартная библиотека Rust не может должным образом экранировать аргументы при вызове пакетных файлов (с расширениями bat и cmd) в Windows с помощью Command API. Киберпреступник, контролирующий аргументы запущенного процесса, может выполнять произвольные команды в оболочке, обходя экранирование. Критическое значение уязвимости отмечается при вызове файлов пакетной обработки на Windows с ненадежными аргументами. Другие платформы или случаи использования не подвержены риску. Проблема затрагивает все версии Rust до 1.77.2 на Windows, если код программы или одна из ее зависимостей вызывает и выполняет файлы пакетной обработки с ненадежными аргументами. Команда безопасности Rust столкнулась с проблемой сложности cmd.exe и не смогла найти решение, корректно экранирующее аргументы во всех случаях. В результате была улучшена надежность кода экранирования и изменен Command API. Если Command API не может безопасно экранировать аргумент при создании процесса, возвращается ошибка InvalidInput. Инженер из Flatt Security, Рётак, который обнаружил уязвимость и назвал ее BatBadBut, отмечает, что она также затрагивает и другие языки программирования. Однако не для всех из них выпущены исправления.
Рётак рекомендует для предотвращения непредвиденного выполнения пакетных файлов переместить их в каталог, который не включен в переменную среды PATH. Это поможет избежать их выполнения без указания полного пути. |
Проверить безопасность сайта