Уязвимость в ядре Linux, позволяющая повысить свои привилегии в системе

Уязвимость в ядре Linux, позволяющая повысить свои привилегии в системе

В драйвере n_hdlc, поставляемом в составе ядра Linux, выявлена уязвимость (CVE-2017-2636), позволяющая локальному пользователю повысить свои привилегии в системе.

Вызывающая уязвимость ошибка присутствует в ядре с 22 июня 2009 года. Подготовлен рабочий прототип эксплоита, который будет опубликован через несколько дней, чтобы дать пользователям время на обновление системы.

Уязвимость вызвана состоянием гонки (race condition) при доступе к указателю n_hdlc.tbuf, которое может привести к двойному освобождению памяти и перезаписи не связанных с буфером данных через манипуляцию с параметрами протокола HDLC (High-Level Data Link Control). В случае ошибки передачи данных, одновременный вызов функций flush_tx_queue() и n_hdlc_send_frames() может привести к дублированию записи указателя n_hdlc.tbuf в список tx_free_buf_list и дальнейшему двойному освобождению памяти одного и того же буфера в функции n_hdlc_release().

Проблема выявлена в результате изучения причин краха ядра, инициированного при выполнении fuzzing-тестирования системных вызовов программой syzkaller. Для совершения атаки непривилегированный локальный пользователь может активировать HDLC для устройства tty, при этом модуль ядра n_hdlc будет загружен автоматически. Для успешной атаки не требуется наличие специализированного оборудования Microgate или SyncLink.

Наличие уязвимости подтверждено в ядрах из RHEL 6/7, Fedora, SUSE, Debian и Ubuntu, ядро RHEL 5 проблеме не подвержено. Обновление пакетов с устранением уязвимости пока выпущено только для Ubuntu и Fedora Linux. Исправление также доступно в виде патча. В качестве обходного пути защиты можно блокировать автоматическую загрузку модуля n_hdlc, добавив строку "install n_hdlc /bin/true" в файл /etc/modprobe.d/disable-n_hdlc.conf. Если модуль n_hdlc уже загружен и используется, то для его выгрузки требуется перезагрузить систему.

Дополнительно, можно упомянуть обнаружение ещё одной уязвимости в ядре Linux, применение которой ограничивается системами, в которых включена не активированная по умолчанию возможность DAX в XFS/EXT4, используемая для прямого доступа к устройствам постоянной памяти (persistent-memory, NVDIMM) в обход страничного кэша. Проблема проявляется в ядрах новее 4.5 при включении настроек CONFIG_ZONE_DEVICE, СONFIG_FS_DAX и CONFIG_BLK_DEV_PMEM. Уязвимость позволяет переписать любой файл на устройстве постоянной памяти, если этот файл может быть прочитан пользователем.

Запись в группу: https://iteducenter.ua/apply

Наши контакты:

Тел.: [відкрити контакти](044) 537-86-76, [відкрити контакти](093) 47-5555-0, [відкрити контакти](096) 99-99-560

Вебсайт: www.iteducenter.ua

Vkontakte: https://vk.com/iteducenter

Facebook: https://www.facebook.com/iteducenterua


Залишити коментар
Будь ласка, введіть ваше ім’я
Будь ласка, введіть коментар.
1000 символів

Будь ласка, введіть email
або Відмінити

Інші статті в категорії Новини