г. Самара тел: +7 (927) 709-4742
г. Москва тел: +7 (964) 532-0773

«Дыры» в Linux и FreeBSD «ломают» системы, вызывая «панику ядра»

Некорректная обработка TCP-пакетов позволяет злоумышленникам отправлять на целевые системы специально сконфигурированные пакеты, вызывая у систем на базе Linux и FreeBSD состояние kernel panic.

Паника-паника

В операционных системах Linux и FreeBSD выявлены существенные уязвимости, связанные с тем как на уровне ядра обрабатываются запросы TCP-пакеты. На практическом уровне эти «баги» позволяют удалённо выводить из строя систему, вызывая «панику ядра».

Три уязвимости выявлены в ядре Linux: по данным эксперта подразделения информационной безопасности Netflix Джонатана Луни (Jonathan Looney), две из этих уязвимостей относятся к «функциям минимального размера сегмента (MSS) и выборочного подтверждения TCP (SACK)». Вторая уязвимость — SACK Panic — может приводить к падению и перезагрузке системы.

Для Red Hat Linux эта уязвимость получила индекс CVE-2019-11477, её степень угрозы оценили в 7,5 баллов по шкале CVSS3 («серьёзный» уровень). Две другие уязвимости — CVE-2019-11478 и CVE-2019-11479 — оценены как средние.

Red Hat, однако, далеко не единственный дистрибутив Linux, для которого характерна эта уязвимость: та же проблема присутствует в Debian, Ubuntu, Suse и AWS, построенных на основе ядра Linux версии 2.6.29 и более поздних.

Для эксплуатации злоумышленнику будет достаточно «отправить через TCP-соединение специально подобранную последовательность сегментов SACK с малым значением TCP MSS», что вызовет переполнение целочисленного значения в ядре.

И чем помочь?

Для исправления проблемы в более новых версиях ядра выпущен патч PATCH_net_1_4.patch; тем, кто пользуется версиями Linux до 4.14 включительно потребуется ещё один патч — PATCH_net_1a.patch.

В качестве промежуточной меры предлагается также отключить обработку SACK в системе (выставив значение /proc/sys/net/ipv4/tcp_sack на 0) или заблокировать соединения с малыми значениями MSS с помощью инструментов, выпущенных Netflix Information Security. Но это сработает только при отключённом TCP-зондировании.

Эксплуатация двух других, менее серьёзных, уязвимостей — CVE-2019-11478 и CVE-2019-11479, соответственно, также потребует от злоумышленника создать специально сконфигурированные последовательности TCP-пакетов. В первом случае произойдёт фрагментация последовательности перенаправления TCP, во втором — «избыточное потребление ресурсов».

Вариация уязвимости CVE-2019-11478 существует и для FreeBSD двенадцатой версии (ей присвоен индекс CVE-2019-5599).

Для исправления этого «бага» под Linux потребуется установить обновление PATCH_net_2_4.patch, а для CVE-2019-11479 — PATCH_net_3_4.patch и PATCH_net_4_4.patch.

Netflix Information Security также выпустил фильтры, позволяющие блокировать входящие соединения с низкими значениями MSS. Пользователи FreeBSD также могут отключить стэк RACK TCP — в качестве промежуточной защитной меры.

«Учитывая количество затронутых уязвимостями версий ядра Linux, можно предположить, что эти «баги» присутствовали в системе довольно продолжительное время, но оставались незамеченными, — считает Дмитрий Залманов, эксперт по информационной безопасности компании SEC Consult Services. — Одна из уязвимостей вообще затрагивает все версии Linux. Но, к счастью, аудитом безопасности открытого ПО занимается огромное количество организаций и частных исследователей, и большое количество найденных уязвимостей — это свидетельство активному исправлению допущенных ошибок».

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

cnews

 

 

Вернуться в раздел: Новости