[protected] В пакете Cryptsetup, применяемом для шифрования дисковых разделов в Linux, выявлена уязвимость(CVE-2016-4484), позволяющая получить доступ в командную оболочку начального загрузочного окружения initramfs или Dracut с правами пользователя root. Проблема вызвана ошибкой в коде скрипта разблокировки и проявляется только при использовании шифрования LUKS (Linux Unified Key Setup) на системных разделах.

Для эксплуатации уязвимости достаточно нажать и удерживать клавишу Enter в ответ на запрос ввода пароля для доступа к зашифрованным разделам. После примерно 70 секунд удерживания Enter пользователь будет выброшен в root shell загрузочного окружения. Атака хорошо повторяема и не зависит от настроек или системного окружения. Для атаки требуется физический доступ к системе, но не исключаются и варианты удалённой эксплуатации облачных окружений. Из систем для которых уязвимость предоставляет угрозу также упоминаются автоматизированные рабочие места, пункты совместного доступа к интернет, интернет-киоски, справочные автоматы и другие публично досутпные устройства с клавиатурой.

Несмотря на то, что полный доступ предоставляется только в окружение начальной загрузки initramfs или Dracut, атакующий имеет возможность скопировать, изменить или вывести из строя содержимое незашифрованных дисков (зашифрованные разделы остаются недоступны). Например, обычно без шифрования оставляется раздел /boot, что позволяет подменить загрузочные файлы или оставить исполняемый файл с правами SetUID root для повышения привилегий локального пользователя. Также можно настроить сетевое соединение и скопировать зашифрованный раздел для осуществления подбора пароля.

Проблема вызвана неверной обработкой превышения лимита на максимальное число попыток монтирования — вместо предложения выполнить перезагрузку, осуществлялся выход из скрипта проверки c кодом ошибки, что приводило к продолжению попыток смонтировать раздел и выводу консоли восстановления (root shell) после превышения лимита на число неудачных попыток. В настоящее время обновления для пакета Cryptsetup в дистрибутивах пока не выпущены (Debian, RHEL, Ubuntu, Fedora, CentOS, SUSE, openSUSE). В качестве временной меры защиты можно настроить в grub загрузку ядра с параметром «panic» (в GRUB_CMDLINE_LINUX_DEFAULT добавить «panic=5» и запустить grub-install), после чего загрузочный скрипт инициирует перезагрузку вместо вывода root shell.

Читать также:  Баг в продуктах F5 BIG-IP под именем Ticketbleed дискредитирующий HTTPS

 
[/protected]

Отказ от ответственности: Эта статья написана только для образовательных целей. Автор или издатель не публиковали эту статью для вредоносных целей. Если читатели хотели бы воспользоваться информацией для личной выгоды, то автор и издатель не несут ответственность за любой причиненный вред или ущерб.
Показать больше в Уязвимости

Проверьте также

Набор эксплойтов Neptune распространяет Monero-майнер

Киберпреступники используют комплект эксплойтов Neptune во вредоносной кампании по распрос…