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.
Metrics
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HWeakness enumeration
Affected software
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | >= b2a4df200d570b2c33a57e1ebfa5896e4bc81b69, < 1d8d987a2aacde238ecd0f4946f28cef74c42b79; >= b2a4df200d570b2c33a57e1ebfa5896e4bc81b69, < 5036a9aa7f21fbce89a2a8451bbc177bae2e920d; >= b2a4df200d570b2c33a57e1ebfa5896e4bc81b69, < 4c5d407ba3ff7f30561ff73ba1b07ed70c864edc; >= b2a4df200d570b2c33a57e1ebfa5896e4bc81b69, < cefa4265b11176c897a7d9e8e54d89e3701c5584; >= b2a4df200d570b2c33a57e1ebfa5896e4bc81b69, < 5659e6923cb72f8e18e8b539109ab512455fe195; >= b2a4df200d570b2c33a57e1ebfa5896e4bc81b69, < 50bb3435a5e627bfbdc52eb4536f49f88b3486b8; >= b2a4df200d570b2c33a57e1ebfa5896e4bc81b69, < 66288dcadf80974436250e9f70ed848836b835b5; >= b2a4df200d570b2c33a57e1ebfa5896e4bc81b69, < 43a1e3744548e6fd85873e6fb43e293eb4010694 |
| Linux | Linux | 3.13 |
References
- https://git.kernel.org/stable/c/1d8d987a2aacde238ecd0f4946f28cef74c42b79
- https://git.kernel.org/stable/c/43a1e3744548e6fd85873e6fb43e293eb4010694Patch
- https://git.kernel.org/stable/c/4c5d407ba3ff7f30561ff73ba1b07ed70c864edcPatch
- https://git.kernel.org/stable/c/5036a9aa7f21fbce89a2a8451bbc177bae2e920d
- https://git.kernel.org/stable/c/50bb3435a5e627bfbdc52eb4536f49f88b3486b8Patch
- https://git.kernel.org/stable/c/5659e6923cb72f8e18e8b539109ab512455fe195Patch
- https://git.kernel.org/stable/c/66288dcadf80974436250e9f70ed848836b835b5Patch
- https://git.kernel.org/stable/c/cefa4265b11176c897a7d9e8e54d89e3701c5584Patch
Timeline
- Published
- Jul 19, 2026
- Last modified
- Oct 30, 2026
- NVD status
- Modified