SOS :: Security Operation Space
29 марта, пятница, 00:00
|
Hot News:

В ядре Linux 8 лет прожила «дыра», позволяющая запустить троян

07 мая 2018 г., понедельник, 18:41

Ошибка целочисленного переполнения в одном из драйверов допускала повышение локальных привилегий и запуск произвольного кода в пространстве ядра.

Запуск кода в пространстве ядра

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

Уязвимость выявили эксперты компании CheckPoint при аудите безопасности ядра Linux и его драйверов. «Баг», как пишут они в отчете, появился в ядре Linux «восемь лет назад».

Технические подробности о «дыре» доступны на сайте CheckPoint.

Уязвимость под индексом CVE 2018-8718 затрагивает внутреннюю функцию mmap(), определяемую файловыми операциями fb_helper в драйвере «udl» от DisplayLink – производителя компьютерных видеокомпонентов и программного обеспечения для них.

В официальном описании говорится, что «функция udl_fb_mmap в drivers/gpu/drm/udl/udl_fb.c в ядре Linux 3.4 и далее вплоть до 4.15 содержит уязвимость класса целочисленное переполнение, благодаря которой локальные пользователи с доступом к драйверу udldrmfb имеют неограниченную возможность считывать и записывать разрешения на страницы физической памяти и таким образом производить запуск кода в пространстве ядра».

«Даже в ядре Linux»

«Модуль video/drm в ядре определяет оболочку mmap() по умолчанию, которая вызывает уже реальный обработчик mmap(), заданный конкретным драйвером. В нашем случае уязвимость содержится во внутреннем mmap(), заданном файловыми операциями fb_helper в драйвере «udl» от DisplayLink», — говорится в описании CheckPoint.

«Ошибка целочисленного переполнения (integer-overflow) возникает, когда арифметические операции выдают значение, находящееся за пределами диапазона, который может быть представлен заданным количеством битов, — поясняет Михаил Зайцев, эксперт по информационной безопасности компании SEC Consult Services. — Чтобы предотвратить подобное, программисты должны реализовывать проверки диапазона. Отсутствие таких проверок — одна из ключевых и часто встречающихся причин возникновения уязвимостей данного типа. Интересно, однако, что за восемь лет этот баг никто так и не обнаружил.

В бюллетене CheckPoint указывается, что даже в таком популярном проекте Open Source, как ядро Linux, всегда можно найти уязвимости, «если знать, где искать».

Ваш голос учтён!
нравится
не нравится Рейтинг:
4
Всего голосов: 8
Комментарии

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

Ваше имя: *
Сообщение: *
Нет комментариев
19:45
17:45
14:45
12:45
11:45
09:45
09:45
19:45
18:45
16:45
15:45
14:45
13:45
10:45
10:45
09:45
19:45
19:45


© 2013—2024 SOS :: Security Operation Space (Пространство Операций Безопасности)  // AMS  // Обратная связь  | 0.171
Использование любых материалов, размещённых на сайте, разрешается при условии ссылки на sos.net.ua.