Goal Reached Thanks to every supporter — we hit 100%!

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-99040— KEYS: Fix add_key() race with keyring restriction

Quick assessment

Affected
Linux Linux
Exploitation
No confirmed in-the-wild exploitation; assess based on exposure
Recommended action
Check the vendor advisory and references for a fixed version. If immediate upgrade is impossible, restrict exposure and increase monitoring.

在 Linux 内核中,以下漏洞已得到修复: KEYS:修复 add_key() 与密钥环限制之间的竞态条件 在获取目标密钥环的信号量(semaphore)之前,便对 进行了快照读取。而 在安装限制时,是持有该信号量的。 这种时序差异导致写入者可能观察到“无限制”的状态,随后等待密钥环所有者安装“拒绝所有”的限制并返回成功,接着利用之前读取的过时 NULL 快照将密钥链接到密钥环中。该写入者仅需对目标密钥环拥有写入权限即可触发此问题。 修复方法是将 的读取操作移至 和 之后执行。这样,读取操作及随后的限制检查便能通

AI Predicted 7.8 Difficulty: Moderate EPSS 0.18% · P8

Possible ATT&CK Techniques 1 AI

T1548.001 · Setuid and Setgid

Affected Version Matrix 12

VendorProduct Version RangeStatus
Linux Linux 5ac7eace2d00eab5ae0e9fdee63e38aee6001f7c< 305f1828b871dd46bf41addeb6f11d2c162dcb25 affected
5ac7eace2d00eab5ae0e9fdee63e38aee6001f7c< f99399b48e3edd6851fac34cd329bab9f1f33baf affected
5ac7eace2d00eab5ae0e9fdee63e38aee6001f7c< 11516a0c402a6c1fa52254aa70d8d65fb921e59e affected
5ac7eace2d00eab5ae0e9fdee63e38aee6001f7c< da0b595d8e6e2dd798f6e34e09dc51a13b888514 affected
5ac7eace2d00eab5ae0e9fdee63e38aee6001f7c< dd3ea3fcba7c75493760cdbccd35f029597e8d5e affected
4.7 affected
< 4.7 unaffected
6.6.160≤ 6.6.* unaffected
… +4 more rows
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-99040

Vulnerability Information

Have questions about the vulnerability? See if Shenlong's analysis helps!
View Shenlong Deep Dive ↗

Although we use advanced large model technology, its output may still contain inaccurate or outdated information.Shenlong tries to ensure data accuracy, but please verify and judge based on the actual situation.

Vulnerability Title
KEYS: Fix add_key() race with keyring restriction
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: KEYS: Fix add_key() race with keyring restriction __key_create_or_update() snapshots keyring->restrict_link before taking the destination keyring's semaphore. keyring_restrict() installs a restriction while holding that semaphore. This allows a writer to observe no restriction, wait for the keyring owner to install a reject-all restriction and return successfully, and then link a key using the stale NULL snapshot. The writer only needs write permission on the destination keyring. Move the restrict_link read after __key_link_lock() and __key_link_begin(). The read and the subsequent restriction check are then serialized with restriction installation by keyring->sem. The race was reproduced on v7.2.8 in 19 executions where restriction installation returned before the link completed. All 19 linked the key despite the reject-all restriction. With this change, 312 executions reached the same ordering and every add_key() call failed with -EPERM. The issue was found by manual concurrency analysis assisted by AI-based analysis and independently verified with a QEMU reproducer and kernel instrumentation.
Source: CVE Program / CVE List V5
CVSS Information
N/A
Source: CVE Program / CVE List V5
Vulnerability Type
N/A
Source: CVE Program / CVE List V5

Affected Products

Vendor Product Affected Versions CPE Subscribe
Linux Linux 5ac7eace2d00eab5ae0e9fdee63e38aee6001f7c ~ 305f1828b871dd46bf41addeb6f11d2c162dcb25 -
Linux Linux 4.7 -

II. Public POCs for CVE-2026-99040

# POC Description Source Link Shenlong Link
AI-Generated POC Premium

No public POC found.

Login to generate AI POC

III. Intelligence Information for CVE-2026-99040

请登录查看更多情报信息。

Patches & Fixes for CVE-2026-99040 (5)

Same Patch Batch · Linux · 2026-10-23 · 217 CVEs total

CVE-2026-98959 9.8 CRITICAL btrfs: fix xattr replace when multiple xattrs are packed in the same item
CVE-2026-99078 9.8 CRITICAL net/mlx5e: Prevent stale XSK buffer release on MPWQE refill retry
CVE-2026-99079 9.8 CRITICAL net/mlx5e: Prevent stale XSK buffer release on refill retry
CVE-2026-98988 8.8 HIGH namespace: keep covered mounts covered in OPEN_TREE_NAMESPACE
CVE-2026-99083 8.8 HIGH ksmbd: fix heap out-of-bounds write in krb5_authenticate()
CVE-2026-99082 8.8 HIGH KVM: x86: Use active memslots for the per-vCPU MMIO cache
CVE-2026-98981 8.8 HIGH namespace: unhash a dentry before detaching the mounts on it
CVE-2026-98980 8.8 HIGH namei: don't reveal overmounted entries in refwalk
CVE-2026-98870 8.8 HIGH ksmbd: remove stale channels from all sessions on teardown
CVE-2026-98978 8.4 HIGH namespace: never expire a locked mount
CVE-2026-99042 8.4 HIGH io_uring/net: populate CONNECT filter fields for 24-byte sockaddr_in6
CVE-2026-98968 8.1 HIGH amt: send the relay's General Query directly from the receive path
CVE-2026-99064 8.1 HIGH cipso: adjust cached option offsets when removing CIPSO
CVE-2026-99014 7.8 HIGH Bluetooth: hci_sync: Fix command skb lifetime during scan setup
CVE-2026-98999 7.8 HIGH drm/xe: Fix stale pinned_link entry when fb-pin performs the final unpin
CVE-2026-99016 7.8 HIGH riscv: futex: untag the user pointer before the atomic access
CVE-2026-99018 7.8 HIGH riscv: entry: gate shadow call stack reload on sstatus.SPP, not tp
CVE-2026-99051 7.8 HIGH fsverity: RCU-delay the freeing of struct fsverity_info
CVE-2026-99054 7.8 HIGH tipc: destroy topsrv workqueues before closing connections
CVE-2026-99053 7.8 HIGH tipc: hold a reference to nodes found by link name

Showing top 20 of 217 CVEs. View all on vendor page &rarr; →

IV. Related Vulnerabilities