Критический недостаток Rust позволяет осуществлять атаки с внедрением команд в Windows

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

Отслеживаемая как CVE-2024-24576, эта уязвимость связана с недостатками инъекции команд и аргументов ОС, которые могут позволить злоумышленникам выполнять неожиданные и потенциально вредоносные команды в операционной системе.

GitHub оценил эту уязвимость как критическую серьезность с максимальной базовой оценкой CVSS 10/10. Неавторизованные злоумышленники могут использовать ее удаленно, в атаках низкой сложности и без взаимодействия с пользователем.

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

"Злоумышленник, способный контролировать аргументы, передаваемые порожденному процессу, мог выполнить произвольные команды оболочки, обойдя экранирование. Серьезность этой уязвимости критична, если вы вызываете пакетные файлы на Windows с недоверенными аргументами. Ни одна другая платформа или использование не затронуты".

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

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

В результате им пришлось повысить надежность кода экранирования и модифицировать Command API. Если Command API не может безопасно экранировать аргумент при порождении процесса, он возвращает ошибку InvalidInput.

"Если вы сами реализуете экранирование или обрабатываете только доверенные входные данные, в Windows вы также можете использовать метод CommandExt::raw_arg, чтобы обойти логику экранирования стандартной библиотеки", - добавили в Rust Security Response WG.

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

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

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

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

В феврале Управление национального кибердиректора Белого дома (ONCD) призвало технологические компании внедрять языки программирования, безопасные для памяти, такие как Rust. Конечной целью является повышение безопасности программного обеспечения за счет минимизации количества уязвимостей, связанных с безопасностью памяти.

Обновление: добавлена информация о других уязвимых языках программирования.

Критический недостаток Rust позволяет осуществлять атаки с внедрением команд в Windows
Понравилась новость? Тогда не забудь оставить свой комментарий.
А так же, добавь наш сайт в закладки (нажми Ctrl+D), не теряй нас.
10 апреля 2024 г.
67
Теги: Windows , Rust

Комментарии

Оставить комментарий:
* отправляя форму, я даю согласие на обработку персональных данных

Читайте еще

Falco на пути к версии 1.0.0

Falco - это облачный инструмент безопасности для операционной системы Linux, предназначенный для обнаружения аномального поведения и предупреждения о потенциальных угрозах безопасности в режиме реального времени. В ближайшее время выйдет его первая стабильная версия.

04 апреля 2024 г.
69

AT&T подтвердила утечку данных 73 миллионов клиентов на хакерском форуме

Компания AT&T наконец-то подтвердила, что она пострадала от утечки данных, затронувшей 73 миллиона нынешних и бывших клиентов, после того как первоначально отрицала, что утечка данных произошла именно от нее.

01 апреля 2024 г.
39

Продолжаем добавлять языки программирования для Вас.
Впереди много интересного!

Только свежие новости программирования и технологий каждый день.

Свежие посты