Уязвимости в Ubuntu Server, просуществовавшие десятилетие, позволяют злоумышленникам получить права root
В нескольких устаревших уязвимостях Local Privilege Escalation (LPE) в компоненте needrestart, установленном по умолчанию в Ubuntu Server, обнаружены уязвимости, которые позволяют локальным злоумышленникам получить права root.
Needrestart — это утилита, которая проверяет, нужно ли перезагружать систему или перезапускать её службы после выполнения операций с APT, таких как установка, обновление или удаление пакетов. Этот компонент был установлен по умолчанию в Ubuntu Server начиная с версии 21.04, и из-за интеграции с образами серверов needrestart автоматически запускается после выполнения операций с APT.
Уязвимости в компоненте needrestart затрагивают большое количество внедрений по всему миру. Вероятно, эти уязвимости были введены с поддержкой интерпретаторов в версии needrestart 0.8, выпущенной в апреле 2014 года.
Уязвимости, такие как CVE-2024-48990, CVE-2024-48991, CVE-2024-48992, CVE-2024-10224 и CVE-2024-11003, требуют немедленного исправления для обеспечения целостности системы.
CVE-2024-48990 (CVSS балл: 7.8) — Злоумышленники могут использовать переменную окружения PYTHONPATH, чтобы заставить needrestart запустить интерпретатор Python, что позволяет локальным злоумышленникам выполнять произвольный код от имени root.
CVE-2024-48991 (CVSS балл: 7.8) — Эта уязвимость позволяет needrestart использовать фальшивый интерпретатор Python, вместо настоящего системного, что вызывает race condition и даёт локальным злоумышленникам права root.
CVE-2024-48992 (CVSS балл: 7.8) — Злоумышленники могут использовать переменную окружения RUBYLIB для того, чтобы заставить needrestart запустить интерпретатор Ruby, что также позволяет выполнить произвольный код от имени root.
CVE-2024-11003 (CVSS балл: 7.8) и CVE-2024-10224 (CVSS балл: 5.3) — Эти уязвимости позволяют локальным злоумышленникам выполнять произвольные команды.
Эти уязвимости, обнаруженные в утилите needrestart, которая часто используется от имени root во время установки или обновления пакетов, дают локальным пользователям возможность повысить свои привилегии и выполнить произвольный код.
Злоумышленники, использующие эти уязвимости, могут получить права root, что серьёзно угрожает целостности и безопасности системы.
Затронутые версии needrestart и доступные исправления
Уязвимости обнаружены в компоненте needrestart, который установлен по умолчанию в Ubuntu Server начиная с версии 21.04. Компонент позволяет локальным злоумышленникам выполнять произвольный код от имени root в версиях до 3.8. Проблема затрагивает версии needrestart до 3.8, и версия 3.8 включает исправления.
Для устранения уязвимостей необходимо отключить функцию обнаружения интерпретаторов в конфигурации needrestart.
Конфигурационный файл needrestart можно найти по пути /etc/needrestart/needrestart.conf. В этом файле находятся различные параметры, которые управляют поведением утилиты needrestart. Отключение функции обнаружения интерпретаторов является эффективным способом избежать этой уязвимости.
Организациям рекомендуется быстро устранить этот риск, удалив уязвимую функцию или обновив программное обеспечение.