Критическая уязвимость в Rust приводит к инъекциям команд в Windows - «Новости» » Интернет технологии
sitename
Комментарии в профилях Steam используются для управления малварью - «Новости»
Комментарии в профилях Steam используются для управления малварью - «Новости»
В VS Code нашли 0-day-уязвимость, позволявшую похищать токены GitHub - «Новости»
В VS Code нашли 0-day-уязвимость, позволявшую похищать токены GitHub - «Новости»
F6: группировка SiribClone атакует российских военных через Telegram и шпионское ПО - «Новости»
F6: группировка SiribClone атакует российских военных через Telegram и шпионское ПО - «Новости»
В Microsoft заявили, что не будут преследовать исследователей за публикацию 0-day-эксплоитов - «Новости»
В Microsoft заявили, что не будут преследовать исследователей за публикацию 0-day-эксплоитов - «Новости»
Второй ежеквартальный номер «Хакера» уже едет к читателям - «Новости»
Второй ежеквартальный номер «Хакера» уже едет к читателям - «Новости»
«Достойный наследник Dark Messiah of Might and Magic»: ролевой экшен Fatekeeper порадовал пользователей Steam, но не всех - «Новости сети»
«Достойный наследник Dark Messiah of Might and Magic»: ролевой экшен Fatekeeper порадовал пользователей Steam, но не всех - «Новости сети»
Второе сюжетное дополнение к Vampire: The Masquerade — Bloodlines 2 завершит поддержку игры — трейлер и дата выхода The Flower & The Flame - «Новости сети»
Второе сюжетное дополнение к Vampire: The Masquerade — Bloodlines 2 завершит поддержку игры — трейлер и дата выхода The Flower & The Flame - «Новости сети»
Wildberries разрабатывает отечественный мессенджер — его уже используют сотрудники - «Новости сети»
Wildberries разрабатывает отечественный мессенджер — его уже используют сотрудники - «Новости сети»
Google выпустила мультимодальную ИИ-модель Gemma 4 12B, которая запустится прямо на ноутбуке - «Новости сети»
Google выпустила мультимодальную ИИ-модель Gemma 4 12B, которая запустится прямо на ноутбуке - «Новости сети»
Мессенджер MAX удалили из Apple App Store — VK подтвердила, что попробует вернуть его на iPhone - «Новости сети»
Мессенджер MAX удалили из Apple App Store — VK подтвердила, что попробует вернуть его на iPhone - «Новости сети»
Как заработать денег, не выходя из дома, мы вам поможем с этим разобраться » Новости » Критическая уязвимость в Rust приводит к инъекциям команд в Windows - «Новости»

Уязвимость, получившая название BatBadBut и идентификатор CVE-2024-24576 (максимальные 10 баллов по шкале CVSS), затрагивает стандартные библиотеки ряда языков программирования, включая Rust. Из-за этого Windows-системы оказываются уязвимы перед атаками на внедрение команд аргументов.


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


«Группе Rust Security Response WG стало известно, что стандартная библиотека Rust неправильно экранирует аргументы при вызове batch-файлов (с расширениями bat и cmd) в Windows с помощью Command API, — говорится официальном заявлении разработчиков. — Злоумышленник, способный контролировать аргументы, передаваемые новому порожденному процессу, может выполнять произвольные шелл-команды, обходя экранирование. Эта уязвимость считается критичной, если вы вызываете batch-файлы в Windows с использованием недоверенных аргументов. Ни одна другая платформа не затронута».


Сообщается, что проблеме подвержены все версии Rust, вышедшие ранее 1.77.2, если код программы или одна из ее зависимостей вызывают и выполняют batch-файлы с недоверенными аргументами.


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


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


Исходно эту проблему обнаружил специалист компании Flatt Security, известный под ником Ryotak. Именно он дал уязвимости имя BatBadBut и объяснил, что уязвимость возникает, когда «язык программирования оборачивает функцию CreateProcess [в Windows], добавляя механизм экранирования».


Исследователь пишет, что дефект также затрагивает и другие языки программирования, причем пока не все разработчики успели подготовить исправления:



  • Erlang (обновлена документация);

  • Go (обновлена документация);

  • Haskell (патч доступен);

  • Java (патча не будет);

  • js (патч выйдет позже);

  • PHP (патч выйдет позже);

  • Python (обновлена документация);

  • Ruby (обновлена документация).


«Чтобы предотвратить неожиданное выполнение batch-файлов, следует переместить файлы в каталог, который не включен в переменную окружения PATH, — рекомендует Ryotak. — В таком случае batch-файлы не будут выполняться, пока не будет указан полный путь, так что неожиданное выполнение удастся предотвратить».


Уязвимость, получившая название BatBadBut и идентификатор CVE-2024-24576 (максимальные 10 баллов по шкале CVSS), затрагивает стандартные библиотеки ряда языков программирования, включая Rust. Из-за этого Windows-системы оказываются уязвимы перед атаками на внедрение команд аргументов. 10 баллов по шкале CVSS и статус критической уязвимости означают, что эту проблему могут удаленно использовать неавторизованные злоумышленники, причем атаки будут весьма просты и не потребуют никакого взаимодействия с пользователем. «Группе Rust Security Response WG стало известно, что стандартная библиотека Rust неправильно экранирует аргументы при вызове batch-файлов (с расширениями bat и cmd) в Windows с помощью Command API, — говорится официальном заявлении разработчиков. — Злоумышленник, способный контролировать аргументы, передаваемые новому порожденному процессу, может выполнять произвольные шелл-команды, обходя экранирование. Эта уязвимость считается критичной, если вы вызываете batch-файлы в Windows с использованием недоверенных аргументов. Ни одна другая платформа не затронута». Сообщается, что проблеме подвержены все версии Rust, вышедшие ранее 1.77.2, если код программы или одна из ее зависимостей вызывают и выполняют batch-файлы с недоверенными аргументами. Отмечается, что команда Rust столкнулась с проблемами при работе с cmd.exe, поскольку не смогла найти решение, которое бы корректно экранировало аргументы во всех случаях. В результате пришлось повысить надежность экранирования и модифицировать Command API. Если Command API не может безопасно экранировать аргумент при порождении процесса, он возвращает ошибку InvalidInput. «Если вы сами реализуете экранирование или обрабатываете только доверенные входные данные, в Windows вы можете использовать метод CommandExt::raw_arg, чтобы обойти логику экранирования стандартной библиотеки», — добавляют в Rust Security Response WG. Исходно эту проблему обнаружил специалист компании Flatt Security, известный под ником Ryotak. Именно он дал уязвимости имя BatBadBut и объяснил, что уязвимость возникает, когда «язык программирования оборачивает функцию CreateProcess _
Цитирование статьи, картинки - фото скриншот - Rambler News Service.
Иллюстрация к статье - Яндекс. Картинки.
Есть вопросы. Напишите нам.
Общие правила  поведения на сайте.
CSS

Смотрите также

А что там на главной? )))



Комментарии )))



Войти через: