NULL pointer dereference in Linux kernel keyring search
Key facts
- Attack vector
- —
- Privileges required
- —
- User interaction
- —
- Attack complexity
- —
- Impact type
- —
- Confidentiality · integrity · availability
- —
- Fix status
- Partial Red Hat: 5 without a fix
No CVSS vector from any source. Fix status from CNA and Red Hat.
Summary
The Linux kernel keyring search code in search_process_keyrings_rcu() loads a request-key authorization payload and reads its saved credentials without checking that the payload is still set, which can cause a NULL pointer dereference. A race between a request-key helper process and its requester can clear the payload while a descendant process is searching keyrings, and the resulting crash can oops the kernel.
Written with Claude Haiku 5.5 from the sources below · 2026-11-04
Description from the CNA
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
Why it matters now
SSVC decision points
Not available: CISA has not published SSVC decision points for this record.
Affected products
| Vendor | Product | Affected versions | Fixed in | Status | Source |
|---|---|---|---|---|---|
| Linux | Linux | 5.3 and later | 5.10.273, 5.15.224, 6.1.191, 6.6.161, 6.12.115, 6.18.60, 7.2.14, 7.3.1, 7.4-rc1 | Patch available | CNA |
- Linux VendorLinux Affected 5.3 and later Fixed in 5.10.273, 5.15.224, 6.1.191, 6.6.161, 6.12.115, 6.18.60, 7.2.14, 7.3.1, 7.4-rc1 Patch available CNA
Remediation
Linux kernel stable branches fixed this in 5.10.273, 5.15.224, 6.1.191, 6.6.161, 6.12.115, 6.18.60, 7.2.14, 7.3.1 and 7.4-rc1, so update to these or later releases. The sources list no fixed version for Red Hat Enterprise Linux 9, Red Hat Enterprise Linux 10, Red Hat OpenShift Container Platform 4 and Red Hat OpenShift Container Platform 5, and no fix planned for Red Hat Enterprise Linux 6.
Written with Claude Haiku 5.5 from the sources below · 2026-11-04
- Fix · CNA Linux (Linux) Fixed in 5.10.273, 5.15.224, 6.1.191, 6.6.161, 6.12.115, 6.18.60, 7.2.14, 7.3.1, 7.4-rc1
Vendor assessments
Red Hat
Red Hat rating: Moderate. Red Hat's page for this CVE →
| Product | Status | Plan or fix |
|---|---|---|
| Red Hat Enterprise Linux 10 | Affected | No fix yet: Fix deferred |
| Red Hat Enterprise Linux 6 | Affected | No fix planned: Out of support scope |
| Red Hat Enterprise Linux 9 | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift Container Platform 4 | Affected | No fix yet: Fix deferred |
| Red Hat OpenShift Container Platform 5 | Affected | No fix yet: Fix deferred |
Not affected: 3 products
- Red Hat Enterprise Linux 7
- Red Hat Enterprise Linux 8
- Red Hat OpenShift Container Platform 4
Timeline
- 2026-11-02 Threatist record created from CVE-2026-99225
- 2026-11-02 Alias added: GHSA-fm9c-q6vv-f7qq
- 2026-11-03 Fix available: Linux/Linux@0a0ec45bf577a9b4d4960567f20d3877ef480de9, Linux/[email protected] · CNA
- 2026-11-03 1 new reference · CNA
- 2026-11-04 Affected versions changed · Red Hat
- 2026-11-04 CVSS score added · Red Hat
References
Other 9
- https://git.kernel.org/stable/c/14fb6fad526b35a7ebd121f1dd313abe652e0aa6
- https://git.kernel.org/stable/c/458cf9715af6aff3ac8d2ec60bd59e9d6236fd0f
- https://git.kernel.org/stable/c/7d3d2fffe933e538472ccafe5bbc7109488b9ce3
- https://git.kernel.org/stable/c/26949c2e4c461e9e620e935bc22717f36a40b615
- https://git.kernel.org/stable/c/984a178d54515779a1bee100b92a6cee8777c830
- https://git.kernel.org/stable/c/b86db7993051d05810601654e886a1e78e1fa495
- https://git.kernel.org/stable/c/b4dfda438fee3c6faa15d9b421c373de6a0e476f
- https://git.kernel.org/stable/c/49f4e768540d25d8852ef750313afda6a4774871
- https://git.kernel.org/stable/c/0a0ec45bf577a9b4d4960567f20d3877ef480de9
More Linux vulnerabilities
- TI-2025-26358 tls: fix handling of zero-length records on the rx_list KEVCVSS 3.1CRITICAL 9.8
- TI-2026-38352 netfilter: bridge: make ebt_snat ARP rewrite writable KEVCVSS 3.1HIGH 8.8
- TI-2021-02452 Incorrect authorization in Ubuntu linux kernel KEVCVSS 3.1HIGH 8.8
- TI-2013-05264 The (1) get_user and (2) put_user API functions in the Linux kernel before 3.5.5 on the… KEVCVSS 3.1HIGH 8.8
- TI-2022-00125 Integer overflow in kernel KEVCVSS 3.1HIGH 8.4
- TI-2013-01864 The perf_swevent_init function in kernel/events/core.c in the Linux kernel before 3.8.9… KEVCVSS 3.1HIGH 8.4
Sources
- CVE-2026-99225 · CVE Program
- CVE-2026-99225 · NVD
- FIRST EPSS
- GHSA-fm9c-q6vv-f7qq · GitHub Advisory Database · CC BY 4.0
- CVE-2026-99225 · Red Hat security data · CC BY 4.0
This product uses the NVD API but is not endorsed or certified by the NVD. Sources and licences