CVE-2026-97901: genetlink: pin family module during policy dump
In the Linux kernel, the following vulnerability has been resolved:
genetlink: pin family module during policy dump
The generic netlink controller's policy dump keeps pointers to the target family's operation and policy tables in its callback state. A dump may be split across multiple skbs and remain pending after the initial request.
Netlink pins the module which owns the dump callback, but in this case that is the controller's owner rather than the target family's owner. The target family can consequently be unregistered and its module unloaded while a policy dump is pending. Advancing the dump then dereferences policy memory from the unloaded module.
Take a reference to the target family's module when the dump starts. Drop it from the error and done paths. This matches the lifetime for which the dump context retains the family and policy pointers.
Affected Software
Event History
Frequently Asked Questions
What conditions are required to trigger the issue?
A generic netlink controller policy dump must remain pending across multiple socket buffers, and the target generic netlink family must then be unregistered with its module unloaded before the dump advances. The subsequent dump processing can dereference policy memory belonging to the unloaded module.
Which systems are exposed?
Systems are exposed when they use generic netlink policy dumps for a target family whose operation and policy tables are provided by an unloadable module. The provided information does not identify specific distributions, kernel versions, or default configurations.
What is the relevant mitigation if an update cannot be applied immediately?
Avoid unregistering and unloading a target generic netlink family module while a controller policy dump for that family may still be pending. The resolved change prevents the condition by holding a reference to the target family's module for the lifetime of the dump context.