Уязвимость в NetworkManager-libreswan и guix-daemon, позволяющие повысить привилегии в системе

В плагине NetworkManager-libreswan, добавляющем в NetworkManager функциональность для подключения к VPN, совместимым с серверами на базе Libreswan и Cisco IPsec, выявлена уязвимость (CVE-2024-9050), которая может использоваться для повышения локальным пользователем своих привилегий. Уязвимость устранена в обновлении NetworkManager-libreswan 1.2.24.
Проследить за появлением обновлений в дистрибутивах можно на следующих страницах: Debian, Ubuntu, RHEL, SUSE/openSUSE, Fedora.

Проблема вызвана некорректной проверкой конфигурации VPN, определяемой локальным непривилегированным пользователем и передаваемой напрямую в Libreswan при попытке активации соединения. В частности, в плагине не выполнялась проверка использования escape-символов, таких как перевод строки «n», которые могли применяться для разделения отдельных настроек, указанных в одной строке.

Соответственно, атакующий мог указать в составе одного из разрешённых параметров параметр «leftupdown», запрещённый для непривилегированных пользователей и задающий скрипт, выполняемый с правами root в процессе установки соединения. Например, для запуска программы /bin/true к разрешённому параметру «hostaddrfamily» можно прикрепить следующие настойки:


   hostaddrfamily=ipv4n leftupdown=/bin/truen ikev2=nevern
leftxauthclient=yesn leftusername=usernamen phase2alg=aes256-sha1n
authby=secretn left=%defaultrouten leftmodecfgclient=yesn
right=172.31.79.2nconn ign

Ещё одна уязвимость выявлена в фоновом процессе guix-daemon, применяемом в дистрибутивах на базе пакетного менеджера GNU Guix. Уязвимость представляет опасность для многопользовательских систем и позволяет локальному пользователю получить привилегии любого пользователя, выполняющего сборку пакетов (build user), и внести изменения в результат сборки. Суть уязвимости в том, что атакующий может запустить производную сборку и если сборочный процесс будет прерван, уже созданные suid-файлы останутся доступны остальным пользователям системы. После этого атакующий может воспользоваться созданный suid-файлом для приостановки сборочного процесса, открытия любого файла через /proc/$PID/fd с правами выполняющего сборку пользователя и перезаписать файлы c результатами сборки).

Источник: http://www.opennet.ru/opennews/art.shtml?num=62109