Новая Linux-уязвимость, получившая название Looney Tunables (CVE-2023-4911), позволяет локальному злоумышленнику получить root-привилегии, используя переполнение буфера в динамическом загрузчике ld.so библиотеки GNU C. Проблема представляет угрозу практически для всех основных дистрибутивов Linux, включая Fedora, Ubuntu, Debian и так далее.
Библиотека GNU C (glibc) присутствует в большинстве систем на базе ядра Linux. Она отвечает за основные функции, включая системные вызовы (open, malloc, printf, exit и другие), необходимые для выполнения типичных программ. В свою очередь, динамический загрузчик, входящий в состав glibc, является важнейшим компонентом и отвечает за подготовку и выполнение программ в Linux-системах, использующих glibc.
Уязвимость Looney Tunables обнаружили специалисты компании Qualys, которые сообщают, что баг появился еще в апреле 2021 года, с выходом glibc 2.34, в коммите, описанном как исправление поведения SXID_ERASE в программах setuid.
«Нам удалось успешно эксплуатировать уязвимость, что привело к получению root-привелегий в таких дистрибутивах, как Fedora, Ubuntu и Debian, что подчеркивает серьезность и широкую распространенность этой проблемы, — пишут эксперты. — Хотя пока мы не публикуем код эксплоита, легкость, с которой переполнение буфера может быть преобразовано в data-only атаку, предполагает, что другие исследовательские группы могут вскоре разработать и выпустить собственные эксплоиты. Это может подвергнуть риску огромное количество систем, особенно учитывая широкое использование glibc в дистрибутивах Linux».
Уязвимость возникает при обработке переменной среды GLIBC_TUNABLES в стандартных установках Debian 12 и 13, Ubuntu 22.04 и 23.04, а также Fedora 37 и 38. Alpine Linux не затронут, так как использует библиотеку musl libc вместо glibc.
Подчеркивается, что учитывая возможность получения полного root-доступа в Fedora, Ubuntu и Debian, системным администраторам нужно действовать оперативно и установить патчи.
«В динамическом загрузчике библиотеки GNU C, ld.so, при обработке переменной среды GLIBC_TUNABLES было обнаружено переполнение буфера, — добавляют разработчики Red Hat. — Эта проблема может позволить локальному злоумышленнику использовать вредоносные переменные GLIBC_TUNABLES при запуске двоичных файлов с правами SUID для выполнения кода с повышенными привилегиями».