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