Исследователи кибербезопасности обнаружили серьезную уязвимость в подсистеме netfilter ядра Linux, которая позволяет локальным злоумышленникам повышать свои привилегии на уязвимых системах. Уязвимость, получившая идентификатор CVE-2024-53141, связана с ошибкой в реализации функциональности bitmap в модуле ipset.
Технические подробности уязвимости
Проблема кроется в функции "bitmap_ip_uadt", расположенной в файле "net/netfilter/ipset/ip_set_bitmap_ip.c". Ошибка возникает при обработке IP-адресов в нотации CIDR (Classless Inter-Domain Routing), когда система не выполняет должную проверку границ. В частности, если присутствует параметр "tb[IPSET_ATTR_CIDR]", но отсутствует "tb[IPSET_ATTR_IP_TO]", ядро производит вычисления диапазона IP-адресов без проверки, что результирующий адрес остается в пределах допустимого диапазона, определенного "map->first_ip".
Это приводит к ситуации выхода за границы (out-of-bounds write), что позволяет злоумышленникам манипулировать структурой данных bitmap за пределами ее предначертанных границ. Уязвимость дает возможность модифицировать структуры памяти ядра, потенциально повреждая критически важные системные данные и открывая путь для атак на повышение привилегий.
Условия эксплуатации и риски
Уязвимость представляет особую опасность, поскольку может быть использована локальными непривилегированными пользователями, имеющими доступ к возможностям netfilter. Это делает ее серьезным вектором атаки для повышения привилегий в многопользовательских системах и контейнерных средах.
Эксперты отмечают, что уязвимость особенно критична для Linux-систем, используемых в сетевых security-устройствах, файрволах и платформах оркестрации контейнеров, которые активно используют функциональность netfilter. Успешная эксплуатация может позволить злоумышленникам обходить механизмы безопасности, получать несанкционированный доступ с правами администратора и потенциально компрометировать всю инфраструктуру.
Реакция разработчиков и рекомендации
Разработчики ядра Linux оперативно отреагировали на обнаруженную уязвимость, выпустив соответствующий патч. Исправление было внесено в коммите "35f56c554eb1b56b77b3cf197a6b00922d49033d" . Патч добавляет корректную проверку границ для операций с IP-диапазонами в подсистеме bitmap:ip.
Системным администраторам настоятельно рекомендуется как можно скорее обновить ядро Linux до версии, содержащей исправление. Уязвимость затрагивает версии ядра вплоть до коммита "041bd1e4", включая версии до 6.12.2.
Организациям, которые не могут немедленно применить обновление, следует рассмотреть возможность ограничения доступа к возможностям netfilter и усилить мониторинг системных логов на предмет подозрительных операций с ipset до момента установки патча.
Эксперты по безопасности подчеркивают важность своевременного обновления систем, особенно в случаях, когда речь идет о критических уязвимостях в базовых компонентах операционной системы, таких как ядро Linux. Это особенно актуально для инфраструктур, где используется функциональность netfilter для обеспечения сетевой безопасности.
На момент публикации не было зафиксировано случаев активной эксплуатации данной уязвимости в дикой природе, однако учитывая ее серьезность и относительную простоту эксплуатации, такие инциденты могут появиться в ближайшее время.
Ссылки
- https://ssd-disclosure.com/linux-kernel-netfilter-ipset-missing-range-check-lpe/
- https://www.cve.org/CVERecord?id=CVE-2024-53141
- https://git.kernel.org/stable/c/3c20b5948f119ae61ee35ad8584d666020c91581
- https://git.kernel.org/stable/c/78b0f2028f1043227a8eb0c41944027fc6a04596
- https://git.kernel.org/stable/c/2e151b8ca31607d14fddc4ad0f14da0893e1a7c7
- https://git.kernel.org/stable/c/e67471437ae9083fa73fa67eee1573fec1b7c8cf
- https://git.kernel.org/stable/c/7ffef5e5d5eeecd9687204a5ec2d863752aafb7e
- https://git.kernel.org/stable/c/856023ef032d824309abd5c747241dffa33aae8c
- https://git.kernel.org/stable/c/591efa494a1cf649f50a35def649c43ae984cd03
- https://git.kernel.org/stable/c/15794835378ed56fb9bacc6a5dd3b9f33520604e