На прошлой неделе специалисты компании Qualys
сообщили об обнаружении достаточно серьезной уязвимости в утилите
needrestart. Данная утилита используется, в частности, в ОС Ubuntu Server начиная с версии 21.04 и запускается после установки и обновления программных пакетов. Ее задача — определить, что система или отдельные программы должны быть перезапущены в результате произведенных в системе изменений и инициировать перезапуск. Ошибки в коде программы обеспечивают сразу несколько способов выполнения произвольного кода. В результате получается надежное средство повышения привилегий обычного пользователя до root, так как сама needrestart выполняется с привилегиями суперпользователя.
Формально в утилите были зафиксированы пять разных уязвимостей. Часть из них получила достаточно высокий рейтинг по шкале CVSS — 7,8 балла. Все уязвимости закрыты в версии needrestart 3.8, причем существовали они как минимум начиная с версии 0.8, выпущенной в 2014 году. Именно тогда в утилиту была добавлена возможность отслеживания интерпретаторов языков высокого уровня. Если сам интерпретатор был обновлен, вполне логично, что необходимо перезапустить программы на этом языке программирования. Отсутствие необходимых проверок позволяет в теории запустить не настоящий, установленный в системе, интерпретатор кода на языке Python или Ruby, а произвольную программу, путь к которой может задать атакующий.
Читать дальше →