- PVSM.RU - https://www.pvsm.ru -

Уязвимость Stack Clash позволяет получить root-привилегии в Linux и других ОС

Уязвимость Stack Clash позволяет получить root-привилегии в Linux и других ОС - 1 [1]

Изображение:finnsland [2], CC BY-SA 2.0 [3]

В механизме управления памятью операционных систем Linux, OpenBSD, NetBSD, FreeBSD и Solaris обнаружена [4] серьезная уязвимость, позволяющая осуществлять повышение привилегий до уровня суперпользователя и выполнять произвольный код. Проблема безопасности получила название Stack Clash.

В чем проблема

Проблему обнаружили исследователи информационной безопасности из компании Qualys. Уязвимость была впервые обнаружена [5] в 2005 году, тогда же появилось исправление. Однако в 2010 году исследователи выяснили, что выпущенные патчи не полностью блокируют [6] возможность эксплуатации. Разработчики Linux вновь выпустили патч, однако оказалось, что защиту можно обойти.

Суть уязвимости заключается в том, что при смежном размещении стека и кучи не исключены ситуации, когда содержимое переполненной кучи может оказаться в области стека, или стек, наоборот, может переписать область кучи, если куча растет в сторону увеличения, а стек — в сторону уменьшения. Для предотвращения подобных ситуаций в Linux и других операционных системах используется защитная техника stack guard-page.

В ходе исследования эксперты выявили множественные уязвимости в реализации «сторожевой страницы» (guard-page) и выделили три возможных типа атак:

  • Пересечение стека с другой областью памяти: выделение памяти производится до тех пор, пока стек не достигнет другой области памяти или память не достигнет стека;
  • «Прыжок» через сторожевую страницу: в этом случае указатель стека перемещается из стека в другую область памяти не затрагивая страницу защиты памяти;
  • Разбиение стека или другой области памяти: производится перезапись стека содержимым другой области памяти либо другой области памяти содержимым стека.

Исследователи подготовили набор PoC-эксплоитов для различных операционных систем. Для использования описанной проблемы безопасности необходим локальный доступ к компьютеру, однако специалисты не исключают наличия возможности удаленной эксплуатации, например, посредством HTTP-запросов или JavaScript.

Как защититься

Как сказано в отчете исследователей, они заранее оповестили разработчиков уязвимых операционных систем о найденных проблемах. В настоящий момент разрабатываются патчи, закрывающие уязвимость. Компания Red Hat уже опубликовала [7] бюллетень безопасности — однако описанные в нем способы защиты могут негативно сказываться на производительности системы. Эту проблему разработчики обещают устранить позднее.

По словам [8] исследователей, они проверяли наличие проблемы в операционных системах FreeBSD, NetBSD, OpenBSD, Solaris, а также популярных Linux-дистрибутивов Red Hat, SuSE, Debian и Ubuntu. Пользователям рекомендуется проверить наличие обновлений для своего дистрибутива. На данный момент неясно, подвержена ли уязвимости мобильная ОС Android.

В качестве временной меры до выхода патча для конкретной ОС ее пользователи могут изменить настройки опций RLIMIT_STACK и RLIMIT_AS [9] для локальных учетных записей и удаленных сервисов, понизив значения по-умолчанию. Однако этот способ не позволит полностью обезопасить себя — выбор слишком низких значений не позволит работать многим доверенным приложениям, а выбор средней величины позволить осуществить ряд атак (например, Stack Clash атаку на Sudo).

Автор: ptsecurity

Источник [10]


Сайт-источник PVSM.RU: https://www.pvsm.ru

Путь до страницы источника: https://www.pvsm.ru/linux/258320

Ссылки в тексте:

[1] Image: https://habrahabr.ru/company/pt/blog/331300/

[2] finnsland: https://www.flickr.com/photos/finnsland/5343883908/

[3] CC BY-SA 2.0: https://creativecommons.org/licenses/by-sa/2.0/

[4] обнаружена: https://blog.qualys.com/securitylabs/2017/06/19/the-stack-clash

[5] обнаружена: http://cansecwest.com/core05/memory_vulns_delalleau.pdf

[6] не полностью блокируют: http://www.invisiblethingslab.com/resources/misc-2010/xorg-large-memory-attacks.pdf

[7] опубликовала: https://access.redhat.com/security/vulnerabilities/stackguard

[8] словам: https://arstechnica.com/security/2017/06/12-year-old-security-hole-in-unix-based-oses-isnt-plugged-after-all/

[9] RLIMIT_STACK и RLIMIT_AS: https://linux.die.net/man/2/setrlimit

[10] Источник: https://habrahabr.ru/post/331300/