CVE-2026-43374: net: nexthop: fix percpu use-after-free in remove_nh_grp_entry

Published May 8, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

net: nexthop: fix percpu use-after-free in removenhgrpentry

When removing a nexthop from a group, removenhgrpentry() publishes the new group via rcuassignpointer() then immediately frees the removed entry's percpu stats with freepercpu(). However, the synchronizenet() grace period in the caller removenexthopfromgroups() runs after the free. RCU readers that entered before the publish still see the old group and can dereference the freed stats via nhgrpentrystatsinc() -> getcpuptr(nhge->stats), causing a use-after-free on percpu memory.

Fix by deferring the freepercpu() until after synchronizenet() in the caller. Removed entries are chained via nhlist onto a local deferred free list. After the grace period completes and all RCU readers have finished, the percpu stats are safely freed.

Affected Software

8 affected components
Linux Linux kernel
Linux Linux kernel>=6.9<6.12.78
Linux Linux kernel>=6.13<6.18.19
Linux Linux kernel>=6.19<6.19.9
Linux Linux kernel=6.9
Linux Linux kernel=7.0-rc1
Linux Linux kernel=7.0-rc2
Linux Linux kernel=7.0-rc3

Event History

May 8, 2026
CVE Published
via MITRE·02:21 PM
Data Sourced
via MITRE·02:21 PM
DescriptionSeverity
Data Sourced
via NVD·03:16 PM
RemedyDescriptionSeverityWeaknessAffected Software

Frequently Asked Questions

1

Who is realistically exposed to this issue?

Linux kernel systems that use nexthop groups and remove nexthops from those groups are exposed when concurrent RCU readers can access the old group state. The affected path involves per-CPU nexthop group statistics.

2

What level of access does an attacker need?

The supplied severity vector indicates local access, low privileges, and no user interaction are required. It rates confidentiality, integrity, and availability impact as high.

3

What does the fix change to prevent the use-after-free?

The fix defers freeing the removed entry's per-CPU statistics until synchronize_net() has completed. Removed entries are kept on a deferred-free list so RCU readers of the old group cannot dereference freed memory.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203