GPU VulnDB

Database/Kernel, userspace & hypervisor

Linux kernel keyctl: use-after-free reading a key type name during module unload

CVSS 7.0CVE-2026-99224Kernel, userspace & hypervisorcurated

Impact

A local user calling KEYCTL_DESCRIBE can race a privileged unload of a key-type module (the report uses AF_RXRPC=m) and make kasprintf() read the type name from module memory that has already been freed, faulting in string() or potentially reading freed kernel memory. The practical effect on a GPU node is a host kernel oops that takes the whole machine down with every tenant job on it, and a drain-and-reboot to recover a node whose GPUs were mid-training. Exploitation needs both a local account and a concurrent module unload, which is a privileged action and not something a tenant triggers on a steady-state node, so this is a low-probability race rather than a routine escalation path. The fix holds key->sem for reading across the kasprintf() so retirement cannot free the name mid-format.

Who can reach it

Local authenticated user with keyctl access (any tenant shell or container without seccomp blocking keyctl), racing a privileged key-type module unload. Not reachable from the network.

What to do

Pick up the stable kernel containing the keyctl key->sem fix (five stable branches have backports, listed in the record) and reboot each node; there is no runtime mitigation other than not unloading key-type modules such as af_rxrpc on a live node, which already avoids the race. Plan it with the next routine kernel maintenance rather than an emergency window - the race needs a privileged module unload to be in flight.

References

Related entries

All Kernel, userspace & hypervisor entries

This entry is curated: imported from vendor advisories with machine assistance, not yet individually verified. Confirm against your vendor's advisory before acting, and report anything wrong.