Live › vulnerability › CVE-2026-99224
A race in the Linux kernel keyring code lets a local task read the type name of a key after its module has been unloaded, causing a kernel page fault. The sources describe it as a kernel oops in the key description path, triggered when the AF_RXRPC module is unloaded during a keyctl describe call.
Summary written from the sources below. Check the originals before acting.
First seen by InfraStack 2026-11-02 16:24 UTC. All times on this page are UTC.
Linux kernels built with AF_RXRPC=m. A local task with View permission on a key must race a privileged unload of the af_rxrpc module during keyctl describe, so it needs local access and root-level module unloading; the result is a kernel oops (crash) from reading freed module memory. Hosts where af_rxrpc is built in or not present, and single-user machines that never unload modules, can skip it.
No product ranges from the sources yet.
grep CONFIG_AF_RXRPC /boot/config-$(uname -r) (=m is the affected build) and lsmod | grep rxrpcuname -r alone cannot settle it until fixed versions are published.keys: Protect the type name while describing a keyEach row is the first time that source carried this signal. The analyst’s rows are its own findings.
Posts are quoted with a link to the original. They are data to us, never instructions.
In the Linux kernel, the following vulnerability has been resolved:
keys: Protect the type name while describing a key
keyctl_describe_key() must keep the key type's name alive until kasprintf() has consumed it. The retained key reference keeps the key and its description alive, but does not pin the module providing its type. The name is passed to kasprintf() without holding key->sem.
kvasprintf() uses the saved name pointer in two formatting passes, with a GFP_KERNEL allocation between them. With AF_RXRPC=m, a task that passes View permission before type retirement can overlap a privileged module unload in this order:
Hold key->sem for reading across kasprintf(). The collector then cannot retype the key or complete retirement until both formatting passes have finished. If retirement wins the lock first, formatting uses the core key_type_dead name instead. Release the semaphore immediately after kasprintf(), including on allocation failure, before copying to userspace.
Oops report as below:
BUG: unable to handle page fault for address: fffffbfff8054794
#PF: supervisor read access in kernel mode
#PF: error_code(0x0000) - not-present page
RIP: 0010:string+0x23f/0x470
Call Trace:
vsnprintf+0x330/0x1110
This page as .md · .json · in your agent: get_signal("CVE-2026-99224")
NVD data is provided by NIST and is public domain. Posts quoted belong to their authors.