CVE-2024-58266Уязвимость в пакете shlex для Rust версии до 1.2.1 позволяет использовать неэкранированные символы { и \xa0 в аргументах команд, что потенциально может привести к инъекции команд. Проблема была исправлена в версии 1.2.1 путем экранирования дополнительных символов. Рекомендуется обновление до версии 1.3.0 [1].
В пакете shlex выявлены три основные проблемы [2]:
1. Неправильное экранирование символов { и \xa0, которые могут быть интерпретированы как несколько аргументов вместо одного, что потенциально может привести к выполнению произвольных команд.
2. Опасный API по отношению к нулевым байтам: функции quote и join не проверяют наличие нулевых байтов, что может привести к проблемам безопасности в редких сценариях.
3. Отсутствие документации о рисках использования интерактивной оболочки: функции quote не экранируют управляющие символы, что может привести к инъекции команд при использовании в интерактивной оболочке.
Источники:
- [1] https://rustsec.org/advisories/RUSTSEC-2024-0006.html
- [2] https://github.com/comex/rust-shlex/security/advisories/GHSA-r7qv-8r2h-pg27
- [3] https://crates.io/crates/shlex