Опасная 0-day уязвимость на уровне ядра Linux, существующая с 2012 года, обнаружена только сейчас

от автора

Приветствуем наших читателей на страницах блога iCover! Опасную 0-day уязвимость с идентификатором CVE-2016-0728 недавно обнаружили в ядре Linux специалисты по информационной безопасности израильской security-компании Perception Point. Согласно предоставленной информации, уязвимость создает реальную возможность для потенциальных злоумышленников получить контроль на уровне прав суперпользователя над десятками миллионов локальных ПК и серверов и не менее, чем над 66% смартфонов и планшетных компьютеров под управлением ОС Android. С учетом того, что общее число только лишь пользователей мобильных устройств под управлением Андроид превысило 1.4 млрд., можно сказать, что уровень распространения CVE-2016-0728 носит глобальный характер.

image

Как известно, основа самой популярной сегодня мобильной операционной системы Android – ядро Linux. Как утверждают специалисты Perception Point, уязвимость, относящаяся к типу Local Privilege Escalation (LPE) присутствовала в ядре более трех лет, начиная с 2012 года и обнаруживается во всех релизах с ядром Linux от 3.8 — до 4.5 в git и в версиях от Android KitKat (4.4) и выше. Для пользователей устройств на Андроид ситуация осложняется тем, что проверить исполняемый код мобильных игр и приложений, которые были собраны с использованием NDK (Native Development Kit) и размещены на Google Play специалистам Google весьма проблематично.

Используя CVE-2016-0728 полный контроль над устройством и права суперпользователя могут получить и пользователи, имеющие доступ к локальному серверу. При этом, атакующие смогут повысить свои привилегии в системе до максимального уровня root. Вместе с тем, если ОС находится в среде виртуализации, пользователям запрещено исполнять код или же в системе один пользователь, то в этих случаях обычные компьютеры и серверы находятся в относительной безопасности.

Уязвимость CVE-2016-0728 интегрирована в подсистему ядра Linux keyrings в функции join_session_keyrings, обеспечивающей возможность кэширования и хранения ключей аутентификации и сертификатов шифрования. Ошибка, связанная с некорректным освобождением объектов, приводит к многократному обращению к уже освобождённой области памяти (use-after-free) когда процесс пытается заменить свой текущий сессионный keyring тем же самым экземпляром. Код на языке С, эксплуатирующий данную уязвимость, состоит из 100 строк, реализует более 4 миллиардов системных вызовов и исполняется около получаса.

К технологиям, позволяющим затруднить эксплуатацию уязвимости можно отнести SELinux, SMAP (Supervisor Mode Access Protection), SMEP (Supervisor Mode Execution Protection). Обход защиты можно осуществить, пересобрав ядро, отключив опцию CONFIG_KEYS.

image

Результат работы PoC для уязвимости CVE-2016-0728 (Perception Point)

Как утверждают специалисты Perception Point, какие-либо данные, подтверждающие активность хакеров в отношении уязвимости CVE-2016-0728 пока отсутствуют. Вместе с тем, до момента выхода соответствующих патчей для дистрибутивов Linux и обновлений для ОС Android вероятность взлома миллионов устройств с использованием CVE-2016-0728 остается достаточно высокой.

Все полученные результаты специалисты Perception Point передали команде разработчиков ядра Linux. Отследить текущую ситуацию, связанную с проблемой CVE-2016-0728 можно здесь.

Отслеживать появление обновлений можно на следующих страницах:

openSUSE,
SLES,
Slackware,
Gentoo,
CentOS,
RHEL 7 (RHEL/CentOS 5 и 6 проблеме не подвержены),
Ubuntu,
Fedora.

Подробности отчета: perception-point.io
Источник 2: opennet.ru
Источник 3: thenextweb.com


Другие наши статьи и события

ссылка на оригинал статьи https://geektimes.ru/post/269500/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *