{"id":"CVE-2026-43374","title":"net: nexthop: fix percpu use-after-free in remove_nh_grp_entry","summary":"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_point…","severity":"high","cvss":7.8,"cvssVector":"CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H","cvssSource":"cna","vendor":"Linux","product":"Linux","affected":["Linux >= f4676ea74b8549cd88dbfe2a592ce4530039e61f < abf4feaee6405f1441929c6ebe7a250f2cd170a7","Linux >= f4676ea74b8549cd88dbfe2a592ce4530039e61f < ab5ebab9664214ba41a7633cb4e72f128204f924","Linux >= f4676ea74b8549cd88dbfe2a592ce4530039e61f < 9e08ad731862b22a87cc55f752e16d66cdc9e231","Linux >= f4676ea74b8549cd88dbfe2a592ce4530039e61f < b2662e7593e94ae09b1cf7ee5f09160a3612bcb2","Linux 6.9"],"ssvc":{"exploitation":"none","automatable":"no","technicalImpact":"total","timestamp":"2026-10-16T15:16:55.959084Z"},"published":"2026-05-08","updated":"2026-10-16","sourceUpdated":"2026-10-16T15:20:40.518Z","source":"CVEORG","sourceUrl":"https://www.cve.org/CVERecord?id=CVE-2026-43374","references":[{"url":"https://git.kernel.org/stable/c/abf4feaee6405f1441929c6ebe7a250f2cd170a7"},{"url":"https://git.kernel.org/stable/c/ab5ebab9664214ba41a7633cb4e72f128204f924"},{"url":"https://git.kernel.org/stable/c/9e08ad731862b22a87cc55f752e16d66cdc9e231"},{"url":"https://git.kernel.org/stable/c/b2662e7593e94ae09b1cf7ee5f09160a3612bcb2"}],"tags":["cve.org"],"epss":0.0017,"epssPercentile":0.05954,"ingestedAt":"2026-10-16T17:24:46.694Z","slug":"CVE-2026-43374","body":"## Overview\n\nIn 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() -> get_cpu_ptr(nhge->stats), 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.\n\n## Affected\n\n- `Linux >= f4676ea74b8549cd88dbfe2a592ce4530039e61f < abf4feaee6405f1441929c6ebe7a250f2cd170a7`\n- `Linux >= f4676ea74b8549cd88dbfe2a592ce4530039e61f < ab5ebab9664214ba41a7633cb4e72f128204f924`\n- `Linux >= f4676ea74b8549cd88dbfe2a592ce4530039e61f < 9e08ad731862b22a87cc55f752e16d66cdc9e231`\n- `Linux >= f4676ea74b8549cd88dbfe2a592ce4530039e61f < b2662e7593e94ae09b1cf7ee5f09160a3612bcb2`\n- `Linux 6.9`\n\n## Remediation\n\nRefer to the linked advisories for vendor-supplied fixes and affected version ranges.","depth":"twilight","depthScore":43,"depthScoreParts":{"impact":42.9,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}