Сегодня должен выйти патч для критической уязвимости в ядре Linux, существующей в коде с 2012 года. Данная брешь затрагивает версии 3.8 и выше, согласно обнаружившим ее исследователям из Perception Point; ей также подвержены две трети Android-устройств.

«Она очень опасна, так как позволяет пользователю с легитимными или ограниченными правами получить root-доступ и полностью скомпрометировать машину, — комментирует Евгений Патс (Yevgeny Pats), соучредитель и гендиректор стартапа Perception Point. — В отсутствие автообновления ядра эти версии могут оставаться уязвимыми в течение долгого времени. Как только появится патч, его сразу нужно установить на все Linux-серверы».

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

«Исправить положение легко, — отметил при этом глава Perception Point. — Проблема в том, что не все Linux-устройства можно пропатчить автоматически».

Уязвимость CVE-2016-0728 кроется в пакете Keyring, интегрированном в разные дистрибутивы Linux. Демон Keyring шифрует и сохраняет регистрационные данные, криптоключи и сертификаты, а также предоставляет приложениям доступ к этой информации. В отчете Perception Point указано, что данная брешь вызвана утечкой ссылок на объект, которую можно использовать с целью исполнения кода в ядре Linux.

«Приложения, исполняемые в пользовательском пространстве, разрешают [keyring] управлять криптоключами, — поясняет Патс. — Пользователю не нужно управлять ключами, для приложения это делает ОС. Приложения используют эту функцию по соображениям безопасности. Если приложению нужно работать с криптосистемой, используется эта функция. У нее есть доступ уровня ядра; ОС предоставляет приложению пользователя возможность использовать эту функцию. Проблема в том, что данный код работает в ядре».

Эксперт также отметил, что на Linux-серверах эксплойт могут предотвратить такие средства защиты, как SMEP (Supervisor Mode Execution Protection) и SMAP (Supervicor Mode Access Protection), на Android-устройствах такую же функцию выполняет SELinux. SMEP и SMAP — относительно новые функции, пресекающие доступ к ядру и исполнение кода из пространства пользователя.

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

Perception Point представила техническое описание уязвимости и способы ее эксплойта, а также опубликовала PoC-код на GitHub.

Категории: Кибероборона, Уязвимости