tgoop.com/linux_gram/8660
Last Update:
Уязвимость в GNU screen, позволяющая выполнить код с правами root
В консольном оконном менеджере (мультиплексоре терминалов) GNU screen, предоставляющем многооконный интерфейс в консоли, выявлено 5 уязвимостей. Наиболее опасная проблема (CVE-2025-23395) позволяет получить права root в системе. Исправление включено в состав сегодняшнего выпуска screen 5.0.1 (уже доступен в Arch Linux и FreeBSD).
Уязвимость CVE-2025-23395 проявляется только в ветке screen 5.0.0, которая поставляется в Fedora Linux, Arch Linux, NetBSD, OpenBSD и Alpine. В Debian, Ubuntu, RHEL (EPEL 9), Gentoo, FreeBSD, SUSE/openSUSE и OpenWrt продолжает поставляться ветка screen 4.x. Эксплуатация уязвимости возможна в системах, устанавливающих исполняемый файл screen с флагом setuid root, например, в Arch Linux и NetBSD. В Fedora утилита ставится с флагом setgid для получения прав группы screen, позволяющих размещать сокеты в системном каталоге /run/screen, что ограничивает возможности атаки отказом в обслуживании.
Уязвимость вызвана тем, что при запуске с правами root функция logfile_reopen() выполняется до сброса привилегий, но обрабатывает данные в контексте каталогов текущего непривилегированного пользователя, запустившего screen. Примечательно, что начальное открытие лога производится с корректным сбросом привилегий, но при повторном открытии файла с логом сброс привилегий не производится.
Через манипуляции с включением режима журналирования содержимого сеанса пользователь может добиться записи данных в файл с правами root, при том, что сам файл может быть сохранён в домашнем каталоге пользователя. Атака сводится к удалению созданного файла с логом и его замене на символическую ссылку, указывающую на любой файл в системе. Если файл уже существует, в него без изменения владельца будут добавлены данные с содержимым экрана в сеансе screen. Если файл не существует, он будет создан с правами 0644, владельцем root и группой как у текущего пользователя.
Linux / Линукс