Description
In the Linux kernel, the following vulnerability has been resolved:

security/keys: fix missed RCU read section on lookup

Nicholas Carlini reports that the keyring code calls assoc_array_find()
in find_key_to_update() without holding the RCU read lock, while the
assoc_array_gc() code really is designed around removing the node from
the tree and then freeing it after an RCU grace-period.

The regular key handling doesn't see this because holding the keyring
semaphore hides any lifetime issues, but the persistent key handling
uses a different model.

Instead of extending the keyring locking, just do the simple RCU locking
that the assoc_array was designed for.
Published: 2026-07-19
Score: 7.8 High
EPSS: < 1% Very Low
KEV: No
Impact: Kernel use‑after‑free leading to memory corruption
Action: Apply Patch
AI Analysis

Impact

In the Linux kernel’s keyring subsystem an associative‑array lookup performed in find_key_to_update() is executed without holding the required RCU read lock. The garbage‑collection routine later frees the node after an RCU grace period. This mismatch allows a lookup thread to read memory that has already been freed, creating a use‑after‑free condition. The flaw is limited to dynamic or persistent key handling, which uses a distinct locking model, so it would only affect keyring operations that rely on that path. An attacker who can trigger lookups while the node is being freed could corrupt kernel memory and cause a crash or, potentially, elevate privileges if the corruption can be controlled.

Affected Systems

Affected systems are all Linux kernel builds that contain the keyring module. The included CPE list focuses on the 7.1 release candidates, ranging from rc1 to rc5, but the issue is generic enough to impact any kernel version that compiles the keyring code without the fix. Administrators should check their kernel version and verify whether the missing RCU guard exists in the source.

Risk and Exploitability

The CVSS base score of 7.8 classifies the flaw as high severity, yet the EPSS score indicates that automated exploitation attempts are currently very unlikely. The vulnerability requires the attacker to perform a key lookup concurrently with a node being freed, which generally demands local or privileged execution. The flaw is not currently listed in the CISA KEV catalog, and no public exploit has been reported. Based on the information supplied, mitigations should prioritize applying the upstream patch before attempting any temporary workarounds.

Generated by OpenCVE AI on October 20, 2026 at 09:36 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Apply the kernel patch that introduces the missing RCU read lock for keyring lookups; installing the latest kernel release or backport containing the fix is the definitive remedy.
  • If an immediate kernel upgrade is not feasible, disable persistent keyrings or limit their use by unsetting associated kernel configuration options or by removing any persistent keyring creation commands.
  • Monitor kernel logs for messages related to keyring or RCU errors, and enable debugging knobs such as rcu_print_events or keyring_debug to surface premature frees or memory corruption before they lead to a crash.

Generated by OpenCVE AI on October 20, 2026 at 09:36 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Ubuntu USN Ubuntu USN USN-8593-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8603-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-8618-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8663-1 Linux kernel (NVIDIA) vulnerabilities
Ubuntu USN Ubuntu USN USN-8664-1 Linux kernel (NVIDIA BaseOS) vulnerabilities
Ubuntu USN Ubuntu USN USN-8728-1 Linux kernel (GCP) vulnerabilities
Ubuntu USN Ubuntu USN USN-8729-1 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8761-1 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-8729-2 Linux kernel (Raspberry Pi Real-time) vulnerabilities
Ubuntu USN Ubuntu USN USN-8761-2 Linux kernel (Azure FIPS) vulnerabilities
Ubuntu USN Ubuntu USN USN-8781-1 Linux kernel (NVIDIA Tegra) vulnerabilities
Ubuntu USN Ubuntu USN USN-8729-3 Linux kernel vulnerabilities
Ubuntu USN Ubuntu USN USN-8802-1 Linux kernel (Oracle) vulnerabilities
Ubuntu USN Ubuntu USN USN-8728-2 Linux kernel (Azure) vulnerabilities
Ubuntu USN Ubuntu USN USN-8729-4 Linux kernel (Low Latency) vulnerabilities
Ubuntu USN Ubuntu USN USN-8729-5 Linux kernel (AWS FIPS) vulnerabilities
Ubuntu USN Ubuntu USN USN-8728-3 Linux kernel (Oracle) vulnerabilities
Ubuntu USN Ubuntu USN USN-8729-6 Linux kernel (AWS) vulnerabilities
Ubuntu USN Ubuntu USN USN-8906-1 Linux kernel (IBM) vulnerabilities
History

Mon, 19 Oct 2026 21:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362

Fri, 16 Oct 2026 17:30:00 +0000

Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'total'}, 'version': '2.0.3'}


Thu, 08 Oct 2026 17:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-125
CPEs cpe:2.3:o:linux:linux_kernel:7.1:rc1:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc2:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc3:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc4:*:*:*:*:*:*
cpe:2.3:o:linux:linux_kernel:7.1:rc5:*:*:*:*:*:*

Sat, 25 Jul 2026 01:00:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362
CWE-416

Wed, 22 Jul 2026 18:30:00 +0000

Type Values Removed Values Added
Weaknesses CWE-362
CWE-416

Wed, 22 Jul 2026 12:15:00 +0000

Type Values Removed Values Added
Weaknesses CWE-825
References
Metrics threat_severity

None

threat_severity

Moderate


Mon, 20 Jul 2026 14:45:00 +0000

Type Values Removed Values Added
Metrics cvssV3_1

{'score': 7.8, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H'}


Sun, 19 Jul 2026 15:45:00 +0000

Type Values Removed Values Added
Description In the Linux kernel, the following vulnerability has been resolved: security/keys: fix missed RCU read section on lookup Nicholas Carlini reports that the keyring code calls assoc_array_find() in find_key_to_update() without holding the RCU read lock, while the assoc_array_gc() code really is designed around removing the node from the tree and then freeing it after an RCU grace-period. The regular key handling doesn't see this because holding the keyring semaphore hides any lifetime issues, but the persistent key handling uses a different model. Instead of extending the keyring locking, just do the simple RCU locking that the assoc_array was designed for.
Title security/keys: fix missed RCU read section on lookup
First Time appeared Linux
Linux linux Kernel
CPEs cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*
Vendors & Products Linux
Linux linux Kernel
References

Subscriptions

Linux Linux Kernel
cve-icon MITRE

Status: PUBLISHED

Assigner: Linux

Published:

Updated: 2026-10-19T20:28:08.372Z

Reserved: 2026-07-19T07:54:57.027Z

Link: CVE-2026-64015

cve-icon Vulnrichment

Updated: 2026-10-16T15:35:18.329Z

cve-icon NVD

Status : Modified

Published: 2026-07-19T16:17:41.467

Modified: 2026-10-19T21:17:19.143

Link: CVE-2026-64015

cve-icon Redhat

Severity : Moderate

Publid Date: 2026-07-19T00:00:00Z

Links: CVE-2026-64015 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-10-20T09:45:06Z

Weaknesses
  • CWE-125

    Out-of-bounds Read

  • CWE-362

    Concurrent Execution using Shared Resource with Improper Synchronization ('Race Condition')

  • CWE-825

    Expired Pointer Dereference