გამჟღავნდა ინფორმაცია ბირთვის ქსელის დასტაში დაუცველობის (CVE-2023-6200) შესახებ. Linux, которая при определённых обстоятельствах позволяет злоумышленнику из локальной сети добиться выполнения своего кода через отправку специально оформленного пакета ICMPv6 с сообщением RA (Router Advertisement), предназначенным для анонсирования информации о маршрутизаторе.
Уязвимость может быть эксплуатирована только из локальной сети и проявляется в системах со включённой поддержкой IPv6 и активным sysctl-параметром «net.ipv6.conf.<имя_сетевого_интерфейса>.accept_ra» (можно проверить командой «sysctl net.ipv6.conf| grep accept_ra»), который по умолчанию отключён в RHEL и Ubuntu для внешних сетевых интерфейсов, но включён для интерфейса loopback, что допускает атаку с той же системы.
დაუცველობა გამოწვეულია რასის მდგომარეობით, როდესაც ნაგვის შემგროვებელი ამუშავებს მოძველებულ fib6_info ჩანაწერებს, რამაც შეიძლება გამოიწვიოს უკვე გათავისუფლებულ მეხსიერების ზონაში წვდომა (გამოყენების შემდეგ უფასო). ICMPv6 პაკეტის მიღებისას როუტერის სარეკლამო გზავნილით (RA, Router Advertisement), ქსელის დასტა იძახებს ndisc_router_discovery() ფუნქციას, რომელიც, თუ RA შეტყობინება შეიცავს ინფორმაციას მარშრუტის სიცოცხლის ხანგრძლივობაზე, იძახებს fib6_set_expires() ფუნქციას და ავსებს gc_link-ს. სტრუქტურა. მოძველებული ჩანაწერების გასასუფთავებლად გამოიყენეთ fib6_clean_expires() ფუნქცია, რომელიც წყვეტს ჩანაწერს gc_link-ში და ასუფთავებს მეხსიერებას, რომელსაც იყენებს fib6_info სტრუქტურა. ამ შემთხვევაში, არის გარკვეული მომენტი, როდესაც მეხსიერება fib6_info სტრუქტურისთვის უკვე გათავისუფლებულია, მაგრამ ბმული მასზე რჩება gc_link სტრუქტურაში.
Уязвимость проявляется начиная с ветки 6.6 и устранена в версиях 6.6.9 и 6.7. Статус устранения уязвимости в дистрибутивах можно оценить на данных страницах: Debian, Ubuntu, SUSE, RHEL, Fedora, Arch Linux, Gentoo, Slackware. Из дистрибутивов, в которых поставляются пакеты с ядром 6.6, можно отметить Arch Linux, Gentoo, Fedora, Slackware, OpenMandriva и Manjaro, в остальных дистрибутивах не исключено бэкпортирование изменения с ошибкой в пакеты с более старыми ветками ядра (например, в Debian упоминается, что уязвим пакет с ядром 6.5.13, в то время как проблемное изменение появилось в ветке 6.6). В качестве обходного пути защиты можно отключить IPv6 или присвоить значение 0 параметрам «net.ipv6.conf.*.accept_ra».
წყარო: opennet.ru
