{"id":"CVE-2026-43374","summary":"net: nexthop: fix percpu use-after-free in remove_nh_grp_entry","details":"In the Linux kernel, the following vulnerability has been resolved:\n\nnet: nexthop: fix percpu use-after-free in remove_nh_grp_entry\n\nWhen removing a nexthop from a group, remove_nh_grp_entry() publishes\nthe new group via rcu_assign_pointer() then immediately frees the\nremoved entry's percpu stats with free_percpu(). However, the\nsynchronize_net() grace period in the caller remove_nexthop_from_groups()\nruns after the free. RCU readers that entered before the publish still\nsee the old group and can dereference the freed stats via\nnh_grp_entry_stats_inc() -\u003e get_cpu_ptr(nhge-\u003estats), causing a\nuse-after-free on percpu memory.\n\nFix by deferring the free_percpu() until after synchronize_net() in the\ncaller. Removed entries are chained via nh_list onto a local deferred\nfree list. After the grace period completes and all RCU readers have\nfinished, the percpu stats are safely freed.","modified":"2026-07-28T18:30:31.601110903Z","published":"2026-05-08T14:21:24.537Z","related":["SUSE-SU-2026:22742-1","SUSE-SU-2026:22769-1","SUSE-SU-2026:22812-1","SUSE-SU-2026:22835-1","openSUSE-SU-2026:21388-1"],"database_specific":{"cna_assigner":"Linux","osv_generated_from":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/43xxx/CVE-2026-43374.json"},"references":[{"type":"WEB","url":"https://git.kernel.org/stable/c/9e08ad731862b22a87cc55f752e16d66cdc9e231"},{"type":"WEB","url":"https://git.kernel.org/stable/c/ab5ebab9664214ba41a7633cb4e72f128204f924"},{"type":"WEB","url":"https://git.kernel.org/stable/c/abf4feaee6405f1441929c6ebe7a250f2cd170a7"},{"type":"WEB","url":"https://git.kernel.org/stable/c/b2662e7593e94ae09b1cf7ee5f09160a3612bcb2"},{"type":"ADVISORY","url":"https://github.com/CVEProject/cvelistV5/tree/main/cves/2026/43xxx/CVE-2026-43374.json"},{"type":"ADVISORY","url":"https://nvd.nist.gov/vuln/detail/CVE-2026-43374"},{"type":"PACKAGE","url":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git"}],"affected":[{"ranges":[{"type":"GIT","repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","events":[{"introduced":"f4676ea74b8549cd88dbfe2a592ce4530039e61f"},{"fixed":"abf4feaee6405f1441929c6ebe7a250f2cd170a7"},{"fixed":"ab5ebab9664214ba41a7633cb4e72f128204f924"},{"fixed":"9e08ad731862b22a87cc55f752e16d66cdc9e231"},{"fixed":"b2662e7593e94ae09b1cf7ee5f09160a3612bcb2"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-43374.json"}},{"package":{"name":"Kernel","ecosystem":"Linux"},"ranges":[{"type":"ECOSYSTEM","events":[{"introduced":"6.9.0"},{"fixed":"6.12.78"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.13.0"},{"fixed":"6.18.19"}]},{"type":"ECOSYSTEM","events":[{"introduced":"6.19.0"},{"fixed":"6.19.9"}]}],"database_specific":{"source":"https://storage.googleapis.com/cve-osv-conversion/osv-output/CVE-2026-43374.json"}}],"schema_version":"1.7.5","severity":[{"type":"CVSS_V3","score":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H"}]}