CVE-2026-43374

In the Linux kernel, the following vulnerability has been resolved: net: nexthop: fix percpu use-after-free in remove_nh_grp_entry When removing a nexthop from a group, remove_nh_grp_entry() publishes the new group via rcu_assign_pointer() then immediately frees the removed entry's percpu stats with free_percpu(). However, the synchronize_net() grace period in the caller remove_nexthop_from_groups() runs after the free. RCU readers that entered before the publish still see the old group and can dereference the freed stats via nh_grp_entry_stats_inc() -> get_cpu_ptr(nhge->stats), causing a use-after-free on percpu memory. Fix by deferring the free_percpu() until after synchronize_net() in the caller. Removed entries are chained via nh_list onto a local deferred free list. After the grace period completes and all RCU readers have finished, the percpu stats are safely freed.
Configurations

Configuration 1 (hide)

OR cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:6.9:-:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.0:rc3:*:*:*:*:*:*

History

11 Nov 2026, 20:10

Type Values Removed Values Added
Summary
  • (es) En el kernel de Linux, la siguiente vulnerabilidad ha sido resuelta: net: nexthop: corregir uso después de liberación percpu en remove_nh_grp_entry Al eliminar un nexthop de un grupo, remove_nh_grp_entry() publica el nuevo grupo a través de rcu_assign_pointer() y luego libera inmediatamente las estadísticas percpu de la entrada eliminada con free_percpu(). Sin embargo, el período de gracia de synchronize_net() en la función llamadora remove_nexthop_from_groups() se ejecuta después de la liberación. Los lectores RCU que entraron antes de la publicación todavía ven el grupo antiguo y pueden desreferenciar las estadísticas liberadas a través de nh_grp_entry_stats_inc() -> get_cpu_ptr(nhge -> stats), causando un uso después de liberación en memoria percpu. Solución: aplazar el free_percpu() hasta después de synchronize_net() en la función llamadora. Las entradas eliminadas se encadenan a través de nh_list a una lista local de liberación diferida. Después de que el período de gracia se complete y todos los lectores RCU hayan terminado, las estadísticas percpu se liberan de forma segura.

Information

Published : 2026-05-08 15:16

Updated : 2026-11-11 20:10


NVD link : CVE-2026-43374

Mitre link : CVE-2026-43374

CVE.ORG link : CVE-2026-43374


JSON object : View

Products Affected

linux

  • linux_kernel
CWE
CWE-416

Use After Free