Критическая уязвимость в telnetd жила почти 10 лет и давала root-доступ

Критическая уязвимость в telnetd жила почти 10 лет и давала root-доступ

Критическая уязвимость в telnetd жила почти 10 лет и давала root-доступ

Исследователь по информационной безопасности Саймон Йозефссон обнаружил критическую уязвимость в компоненте telnetd, входящем в состав GNU InetUtils. Брешь незаметно существовала почти десять лет — с мая 2015 года — и позволяла удалённо входить в систему без аутентификации, сразу под пользователем root.

Проблема затрагивает все версии GNU InetUtils с 1.9.3 по 2.7 включительно. По сути, любой злоумышленник при определённых условиях мог получить полный контроль над системой, даже не зная пароля.

Как поясняет Йозефссон, сервер telnetd запускает системную утилиту /usr/bin/login, обычно от имени root, и передаёт ей имя пользователя. В уязвимой реализации это имя можно получить из переменной окружения, переданной клиентом.

Если клиент подсовывает значение -f root и подключается к серверу с опцией telnet -a (режим автологина), происходит следующее:

  • telnetd передаёт значение переменной окружения USER напрямую в login(1);
  • никакой проверки или экранирования не выполняется;
  • login(1) воспринимает -f root как служебный параметр;
  • а параметр -f означает вход без проверки пароля.

В итоге сервер автоматически аутентифицирует подключение как root — полностью обходя процесс валидации.

Обычное подключение по telnet не позволяет указать имя пользователя в таком виде. Однако в режиме автологина (-a) имя пользователя берётся не из командной строки, а именно из переменной окружения USER.

Именно здесь и кроется корень проблемы: telnetd доверял содержимому USER без какой-либо валидации. Достаточно было установить переменную окружения в значение -f root, и система сама открывала дверь.

Йозефссон показал рабочий пример атаки на системе Trisquel GNU/Linux 11, где после одной команды пользователь моментально получал root-доступ.

Как выяснилось, уязвимость появилась в коммите от 19 марта 2015 года и попала в релиз GNU InetUtils 1.9.3 от 12 мая того же года. Изначально изменение задумывалось как исправление проблемы с автологином в средах с Kerberos — разработчики добавили передачу имени пользователя через переменную окружения, но забыли проверить её содержимое.

Саймон Йозефссон рекомендует как можно скорее ограничить сетевой доступ к telnet-порту только для доверенных клиентов; установить патч или обновиться до версии GNU InetUtils, в которой уязвимости нет;  в идеале — ещё раз задуматься, нужен ли telnet в инфраструктуре вообще.

Напомним, в этом месяце мы сообщали об опасной уязвимости в GNU Wget2, которая позволяет удалённо перезаписывать файлы.

Apple срочно закрыла 0-day в iOS после шпионской атаки

Apple вчера вечером выпустила обновления своих ОС. Среди них стоит отметить патчи для устройств iPhone и iPad, закрывающие критическую уязвимость нулевого дня, которая уже используется в реальных атаках. Речь идёт о баге с идентификатором CVE-2026-20700.

По словам Apple, эксплойт применялся в «очень сложной атаке» против конкретных людей.

Такая формулировка у Apple появляется нечасто; как правило, она подразумевает целевые кибератаки уровня коммерческого шпионского софта. Обнаружили проблему специалисты Google Threat Analysis Group (TAG) — команды, которая как раз охотится за правительственными кибергруппами.

Атаки, скорее всего, были направлены на журналистов, дипломатов, активистов или других «интересных» для разведки персон, а не на массового пользователя.

Уязвимость находится в dyld — это динамический загрузчик библиотек, один из базовых компонентов iOS и iPadOS. Он отвечает за то, чтобы при запуске приложения система корректно подгружала нужные библиотеки и фреймворки.

Проблема в том, что из-за ошибки злоумышленник с возможностью записи в память мог добиться выполнения произвольного кода. Проще говоря, встроить свои инструкции в процесс загрузки приложения и обойти защитные механизмы.

Apple прямо указывает, что CVE-2026-20700, вероятно, использовалась в составе более широкой цепочки эксплуатации. Одновременно были закрыты ещё две уязвимости — CVE-2025-14174 и CVE-2025-43529. Судя по всему, атакующие комбинировали несколько багов, чтобы обойти современные механизмы защиты.

Патч уже доступен в составе iOS 26.3 и iPadOS 26.3. Обновление касается широкого списка устройств:

  • iPhone 11 и новее;
  • iPad Pro 12,9″ (3-го поколения и новее);
  • iPad Pro 11″ (1-го поколения и новее);
  • iPad Air 3-го поколения и новее;
  • iPad 8-го поколения и новее;
  • iPad mini 5-го поколения и новее.

С учётом подтверждённой эксплуатации откладывать обновление точно не стоит. Чтобы установить патч, достаточно зайти в «Настройки» → «Основные» → «Обновление ПО» и установить iOS 26.3 или iPadOS 26.3.

Даже если атака была таргетированной, практика показывает: инструменты, созданные для точечных операций, рано или поздно могут утечь или масштабироваться. В таких случаях лучшая стратегия — просто обновиться и закрыть вопрос.

RSS: Новости на портале Anti-Malware.ru