Состоялся корректирующий выпуск 3.6.2 интерактивной командной оболочки fish с исправлением уязвимости CVE-2023-49284.
fish shell
использует некоторые символы Unicode для внутренней маркировки подстановочных знаков и расширений. Этот неправильный подход позволял читать эти символы в выводе подстановки команд, вместо того чтобы преобразовать их в безопасное внутреннее представление.
Хотя это может вызвать неожиданное поведение при прямом вводе (например, echo \UFDD2HOME
имеет тот же вывод, что и echo $HOME
), это может стать незначительной проблемой безопасности, если вывод подается из внешней программы в подстановку команд, где такой вывод может не ожидаться.
Этот недостаток дизайна появился в самых ранних версиях fish
, ещё до появления системы контроля версий, и, как считается, присутствует в каждой версии fish
, выпущенной за последние 15 лет или более, хотя и с разными символами.
Выполнение кода не представляется возможным, но DoS-атака (через раскрытие большого количества скобок) или раскрытие информации (например, через расширение переменных) потенциально возможны при определенных обстоятельствах.
В версии 3.6.3 исправлены только тесты.
>>> Подробности