Вредоносный код в 11 байт вызвал сбои в работе интернет-серверов

Разработчики библиотеки OpenSSL устранили уязвимость, позволявшую вывести из строя серверы с помощью вредоносного кода размером 11 байт. Ошибка в выделении памяти приводила к состоянию, схожему с DDoS-атакой. Об этом сообщает издание BleepingComputer со ссылкой на исследователей компании Okta.
«Для оценки угрозы мы протестировали незащищенные и защищенные экземпляры OpenSSL, работающие под управлением NGINX, в различных условиях нагрузки», — пишут исследователи.
Уязвимость, получившая название HollowByte, связана с обработкой TLS-соединения. Уязвимые версии OpenSSL выделяли память для сообщения до проверки его фактического размера, основываясь только на данных из заголовка. Злоумышленник мог отправить заголовок с ложными данными о длине, в результате чего сервер выделял до 131 КБ памяти под 11-байтный пакет и переходил в режим бесконечного ожидания.
Проблема усугублялась особенностями работы библиотеки GNU C Library (glibc), которая не сразу возвращает операционной системе освобожденную память. Множественные запросы приводили к фрагментации памяти, и для ее перераспределения требовалась полная остановка процесса OpenSSL.
Библиотека OpenSSL используется в популярных веб-серверах Nginx и Apache, средах выполнения Node.js, Python, Ruby и PHP, а также в базах данных MySQL и PostgreSQL. Она предустановлена на большинстве дистрибутивов Linux.
Разработчики выпустили исправления для всех версий, включая устаревшие. Обновленными являются версии 4.0.1, 3.6.3, 3.5.7, 3.4.6 и 3.0.21. Теперь память выделяется на основе фактического размера входящего сообщения, а не заявленного в заголовке.
Подписывайтесь на наш Telegram-канал, чтобы быть в курсе всех новостей и событий Рунета.