Контакты
Подписка 2025
ТБ Форум 2025
Кибербезопасность. Защита АСУ ТП. Безопасность КИИ. Москва | 11 февраля | ТБ Форум 2025
Регистрируйтесь и приходите!

Уязвимость в языке программирования Rust позволяет хакерам удаленно внедрить код в систему Windows

10/04/24

windows hack5-2

В стандартной библиотеке языка программирования Rust обнаружена уязвимость, позволяющая выполнять вредоносный код в Windows.

CVE-2024-24576 (оценка CVSS: 10) связана с ошибкой механизма передачи команд и аргументов ОС, что позволяет аутентифицированному злоумышленнику удаленно выполнять вредоносный код без взаимодействия с пользователем. Атака обладает низкой сложностью исполнения.

Группа по реагированию на угрозы безопасности Rust была уведомлена о том, стандартная библиотека Rust не может должным образом экранировать аргументы при вызове пакетных файлов (с расширениями bat и cmd) в Windows с помощью Command API.

Киберпреступник, контролирующий аргументы запущенного процесса, может выполнять произвольные команды в оболочке, обходя экранирование. Критическое значение уязвимости отмечается при вызове файлов пакетной обработки на Windows с ненадежными аргументами. Другие платформы или случаи использования не подвержены риску.

Проблема затрагивает все версии Rust до 1.77.2 на Windows, если код программы или одна из ее зависимостей вызывает и выполняет файлы пакетной обработки с ненадежными аргументами, пишет Securitylab.

Команда безопасности Rust столкнулась с проблемой сложности cmd.exe и не смогла найти решение, корректно экранирующее аргументы во всех случаях. В результате была улучшена надежность кода экранирования и изменен Command API. Если Command API не может безопасно экранировать аргумент при создании процесса, возвращается ошибка InvalidInput.

Инженер из Flatt Security, Рётак, который обнаружил уязвимость и назвал ее BatBadBut, отмечает, что она также затрагивает и другие языки программирования. Однако не для всех из них выпущены исправления.

  • Erlang (обновление документации);
  • Go (обновление документации);
  • Haskell (доступно исправление);
  • Java (не исправлено);
  • Node.js (исправление скоро будет доступно);
  • PHP (исправление скоро будет доступно);
  • Python (обновление документации);
  • Ruby (обновление документации).

Рётак рекомендует для предотвращения непредвиденного выполнения пакетных файлов переместить их в каталог, который не включен в переменную среды PATH. Это поможет избежать их выполнения без указания полного пути.

Темы:WindowsУгрозыПрограммное обеспечениеRUST
Безопасная разработка
Подходы и инструменты управления процессом разработки безопасного программного обеспечения
Регистрируйтесь и приходите! 13 февраля 2025
Статьи по темеСтатьи по теме

Участвуйте в проектах

редакции журнала
"Информационная безопасность" 

КАЛЕНДАРЬ МЕРОПРИЯТИЙ 2024
ПОСЕТИТЬ МЕРОПРИЯТИЯ
ВЫСТУПИТЬ НА КОНФЕРЕНЦИЯХ
СТАТЬ АВТОРОМ
ТБ Форум
Актуальные вопросы защиты информации
12 февраля 2025 | Организатор: ФСТЭК России

Еще темы...

More...