Особенности уязвимости представляют собой набор хороших и плохих новостей. Плохая новость: по оценке Qualys на 1 июня, примерно 14 миллионов доступных из сети SSH-серверов были уязвимы. Впрочем, практическую атаку можно провести примерно в отношении 700 тысяч из них. Хорошая новость: уязвимость не так-то просто эксплуатировать. Уязвимость актуальна для дистрибутивов, использующих стандартную библиотеку glibc. Для успешной атаки потребуется выполнить примерно 10 тысяч подключений к уязвимому серверу, что при стандартных ограничениях на количество одновременных подключений и их длительность потребует 6–8 часов. Плохая новость номер два: если атака все же успешна, то она может дать атакующему права суперпользователя. Реальная атака была продемонстрирована только на 32-разрядном дистрибутиве, в то время как для 64-разрядных систем практического метода эксплуатации пока не существует. Осложняют потенциальную атаку и стандартные средства защиты, такие как ASLR.
Зависимость от библиотеки glibc обусловлена тем, что сервер sshd вызывает ряд функций из нее в асинхронном режиме; при этом эксплуатация этих функций таким образом является небезопасной. Это создает так называемое «состояние гонки»: если задействовать уязвимый код в нужное время и с определенными данными, записанными в память, это приводит к выполнению произвольного кода и получению полного контроля над системой. Исследователи Qualys потратили много времени на оптимизацию атаки, начав с совершенно нереалистичного сценария, когда результат достигался за месяц непрерывных обращений к серверу. В процессе были изучены старые версии OpenSSH (до 2006 года), имеющие по сути такую же уязвимость. «Выиграть» то самое «состояние гонки», то есть создать условия для успешной атаки, сложно, и именно поэтому требуются многочисленные обращения к серверу. Каждый раз потенциальный атакующий открывает соединение с SSH-сервером, но не заканчивает процесс аутентификации в течение 120 секунд, что открывает возможность для выполнения небезопасного кода.
Уязвимость закрыта в релизе OpenSSH 9.8 и актуальна для множества дистрибутивов на базе Linux, включая Debian/Ubuntu, Alpine Linux, Red Hat/Fedora, SUSE Enterprise Linux и других. Уязвимость также актуальна для FreeBSD, но не может быть эксплуатирована в OpenBSD, где вместо небезопасной в контексте асинхронного режима работы функции syslog() вызывается syslog_r(). Интересным развитием данного сюжета стало
Что еще произошло
Еще одно громкое событие прошлой недели —
Сразу две новости описывают одну и ту же проблему: хранение чувствительных данных на компьютере открытым текстом. В этот раз критике подверглись
Сервис Cloudflare
Свежая