В ядре Linux устранена следующая уязвимость:
net: pfcp: выделить tstats для каждого процессора для сетевых разработчиков PFCP
PFCP использует dev_get_tstats64() в качестве обратного вызова ndo_get_stats64, но
pfcp_link_setup() не запрашивает NETDEV_PCPU_STAT_TSTATS. сеть
поэтому ядро оставляет dev->tstats NULL для устройств PFCP. Создание устройства PFCP rtnetlink может немедленно запросить у нового netdev
статистику при создании уведомления RTM_NEWLINK. Это достигает
dev_get_tstats64() и разыменовывает NULL указатель dev->tstats.
Установите для pcpu_stat_type значение NETDEV_PCPU_STAT_TSTATS во время настройки канала PFCP, чтобы
сетевое ядро выделяет хранилище, ожидаемое dev_get_tstats64().
Показать оригинальное описание (EN)
In the Linux kernel, the following vulnerability has been resolved: net: pfcp: allocate per-cpu tstats for PFCP netdevs PFCP uses dev_get_tstats64() as its ndo_get_stats64 callback, but pfcp_link_setup() does not request NETDEV_PCPU_STAT_TSTATS. The net core therefore leaves dev->tstats NULL for PFCP devices. Creating a PFCP rtnetlink device can immediately ask the new netdev for stats while building the RTM_NEWLINK notification. That reaches dev_get_tstats64() and dereferences the NULL dev->tstats pointer. Set pcpu_stat_type to NETDEV_PCPU_STAT_TSTATS during PFCP link setup so the net core allocates the storage expected by dev_get_tstats64().