high · CVSS v3 8.1

CVE-2026-99225

CVE-2026-99225 is a high severity kernel vulnerability that can cause a null pointer dereference during keyring searches, potentially leadin

Overview

CVE-2026-99225 is a high severity kernel vulnerability that can cause a null pointer dereference during keyring searches, potentially leading to a kernel oops. The flaw occurs when an authorization key is revoked while a descendant process is still validating the key, allowing the kernel to dereference a cleared payload. This can crash the system or lead to privilege escalation if exploited.

Description

In the Linux kernel, the following vulnerability has been resolved: keys: Check the authorization payload in process keyring searches An authorization payload and its saved credentials must remain valid while search_process_keyrings_rcu() searches the requestor's keyrings. The function validates the authorization key, then separately loads payload.data[0] and unconditionally reads rka->cred. Validation does not prevent request_key_auth_revoke() from clearing the payload. A request-key helper can assume authority and fork a descendant that inherits the authorization key. If the descendant misses in its own keyrings, it falls back to the saved requestor credentials. Successful target instantiation invalidates the authorization key without clearing the payload. After the helper exits, UMH_WAIT_PROC returns to the requester, which calls complete_request_key() and revokes that key. With the descendant paused after validation, the paths can interleave as follows: 1. The descendant enters search_process_keyrings_rcu() under RCU and key_validate() succeeds. 2. The helper instantiates the target, invalidates the authorization key, and exits. 3. The requester resumes from UMH_WAIT_PROC, calls complete_request_key(), and revokes the authorization key. request_key_auth_revoke() sets its payload pointer to NULL. 4. The descendant loads NULL and dereferences rka->cred. This NULL dereference can oops the kernel. RCU delays payload disposal but does not prevent the pointer from being cleared. Load the payload with dereference_key_rcu() and require a non-NULL result before validating the authorization key and searching its saved credentials. A non-NULL payload and its credentials remain alive for the caller's RCU read-side section; a cleared payload skips the fallback search and follows the existing error selection. KASAN report as below: Oops: general protection fault, probably for non-canonical address 0xdffffc0000000005: 0000 [#1] SMP KASAN NOPTI KASAN: null-ptr-deref in range [0x0000000000000028-0x000000000000002f] RIP: 0010:search_process_keyrings_rcu+0x32b/0x790

Impact

The vulnerability can lead to denial of service by crashing the kernel, and may allow privilege escalation if an attacker can trigger the null dereference. Defenders should be aware that any process using request-key helpers could be affected. The impact is limited to kernel stability and potential privilege escalation.

Remediation

Apply the latest kernel patch that fixes CVE-2026-99225. Update to a kernel version that includes the fix (e.g., Linux 6.6+). If patching is not immediately possible, disable request-key helpers or restrict keyring usage for untrusted processes.

Risk context

High severity with CVSS 8.1 indicates a serious flaw that can crash the kernel. While no EPSS data is available, the lack of mitigation in current kernels means the risk is real for all affected distributions.

Affected products

  • Linux kernel
  • Ubuntu kernel
  • Red Hat Enterprise Linux kernel
  • CentOS kernel
  • Debian kernel

Scores

Severity
high
CVSS v2
8.5
CVSS v3
8.1
CVSS v4
—
EPSS
—

kernel null-pointer keyring authorization RCU privilege-escalation denial-of-service CVE-2026-99225

← All CVEs