В telnetd из GNU InetUtils нашли уязвимость, которая позволяет любому подключиться к серверу под root без проверки пароля. Проблема живет с марта 2015 года (версия 1.9.3) и до сих пор не исправлена в актуальном релизе 2.7.0.
Когда telnetd запускает утилиту
login для проверки пароля, он передает ей имя пользователя из подключения. У login есть опция -f, которая пропускает аутентификацию. Разработчики добавили поддержку автоматического входа через переменную окружения USER, но забыли проверить её содержимое. Результат — подставив в USER значение
-f root, можно войти без пароля.USER='-f root' telnet -a имя_сервера
В 2015 году разработчики фиксили проблему с Kerberos-аутентификацией. Добавили получение имени пользователя из переменной окружения, но не добавили проверку на спецсимволы и опции.
Хотя telnet давно считается небезопасным протоколом и большинство перешло на SSH, эта уязвимость напоминает о том, что стоит проверять даже старое ПО.
➡️ Источник
📍 Навигация: Вакансии • Задачи • Собесы
🐸 Библиотека devops'a
#разбор_полётов
