logo Хроники кибер-безопасника

BatBadBut

📌Идентификация ‎уязвимости: Критическая‏ ‎уязвимость ‎идентифицируется ‎как ‎«BatBadBut» ‎CVE-2024-24576

📌Уязвимое‏ ‎ПО: Уязвимость ‎существует‏ ‎в‏ ‎стандартной ‎библиотеке ‎Rust‏ ‎и, ‎в‏ ‎частности, ‎затрагивает ‎системы ‎Windows

📌Степень‏ ‎критичности: присвоена‏ ‎наивысшая ‎оценка‏ ‎по ‎шкале‏ ‎CVSS, ‎равная ‎10,0, ‎что ‎указывает‏ ‎на‏ ‎максимальную ‎степень‏ ‎тяжести

📌 Подробная ‎информация:‏ ‎Уязвимость ‎возникает ‎из-за ‎того, ‎что‏ ‎стандартная‏ ‎библиотека‏ ‎Rust ‎неправильно‏ ‎экранирует ‎аргументы‏ ‎при ‎вызове‏ ‎пакетных‏ ‎файлов ‎в‏ ‎Windows ‎с ‎использованием ‎командного ‎API.‏ ‎Это ‎может‏ ‎позволить‏ ‎злоумышленнику ‎выполнять ‎произвольные‏ ‎команды ‎оболочки,‏ ‎обходя ‎экранирующий ‎интерфейс.

📌Условия: ‎выполнение‏ ‎команды‏ ‎в ‎Windows,‏ ‎команда ‎не‏ ‎указывает ‎расширение ‎файла ‎или ‎использует‏ ‎.bat‏ ‎или ‎.cmd,‏ ‎команда ‎содержит‏ ‎управляемый ‎пользователем ‎ввод ‎в ‎качестве‏ ‎части‏ ‎аргументов‏ ‎команды, ‎а‏ ‎среда ‎выполнения‏ ‎не ‎может‏ ‎должным‏ ‎образом ‎обработать‏ ‎аргументы ‎команды ‎для ‎cmd.exe

📌Уязвимые ‎версии: Все‏ ‎версии ‎Rust‏ ‎для‏ ‎Windows ‎до ‎версии‏ ‎1.77.2 ‎подвержены‏ ‎этой ‎уязвимости

📌Воздействие: ‎Уязвимость ‎также‏ ‎затрагивает‏ ‎другие ‎языки‏ ‎программирования, ‎включая‏ ‎Erlang, ‎Go, ‎Haskell, ‎Java, ‎Node.js,‏ ‎PHP,‏ ‎Python ‎и‏ ‎Ruby, ‎хотя‏ ‎исправления ‎выпущены ‎не ‎для ‎всех‏ ‎из‏ ‎них

📌Рекомендации‏ ‎по ‎устранению:‏ ‎Пользователям ‎рекомендуется‏ ‎перемещать ‎пакетные‏ ‎файлы‏ ‎в ‎каталог,‏ ‎не ‎указанный ‎в ‎переменной ‎среды‏ ‎PATH, ‎чтобы‏ ‎предотвратить‏ ‎непредвиденное ‎выполнение. ‎Разработчикам‏ ‎следует ‎перейти‏ ‎на ‎версию ‎Rust ‎1.77.2,‏ ‎чтобы‏ ‎устранить ‎уязвимость

📌Обнаружение‏ ‎и ‎отчетность: Уязвимость‏ ‎была ‎обнаружена ‎инженером ‎по ‎безопасности‏ ‎из‏ ‎Flatt ‎Security,‏ ‎известным ‎как‏ ‎RyotaK, ‎и ‎передана ‎в ‎Координационный‏ ‎центр‏ ‎сертификации‏ ‎(CERT/CC).

📌Ответ ‎от‏ ‎Rust: Rust ‎признала‏ ‎проблему ‎и‏ ‎с‏ ‎тех ‎пор‏ ‎улучшила ‎надежность ‎экранирующего ‎кода ‎и‏ ‎модифицировала ‎командный‏ ‎API,‏ ‎чтобы ‎возвращать ‎ошибку‏ ‎InvalidInput, ‎если‏ ‎аргумент ‎не ‎может ‎быть‏ ‎безопасно‏ ‎экранирован

📌Реакция ‎разработчиков‏ ‎других ‎языков:‏ ‎Разработчики ‎Haskell, ‎Node.js, ‎PHP ‎и‏ ‎yt-dlp‏ ‎выпустили ‎исправления‏ ‎для ‎устранения‏ ‎ошибки, ‎связанной ‎с ‎внедрением ‎команд

Предыдущий Следующий
Все посты проекта

Подарить подписку

Будет создан код, который позволит адресату получить бесплатный для него доступ на определённый уровень подписки.

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

Будет создан код, который позволит адресату получить сумму на баланс.

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

Добавить карту
0/2048