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

Goal: 1000 CNY · Raised: 1359 CNY

100%

CVE-2026-98978— namespace: never expire a locked mount

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 内核中,以下漏洞已得到修复: 命名空间:永远不会过期一个被锁定的挂载点。 被锁定的挂载点具有特殊性,它们能够保护其下方的文件和目录不被泄露。 函数会拒绝卸载被锁定的挂载点,但 函数却没有这一限制。 一个可收缩的挂载点,当某个用户命名空间的所有者通过 操作将其移动到一个被锁定的挂载点之下时,该挂载点就会变为被锁定状态。此时,锁定属性会转移到底部的挂载点上,从而导致顶部的挂载点可以被卸载。 因此,对一个未锁定的祖先挂载点执行 操作时,会先过期(卸载)底部的挂载点,从而暴露出被覆盖的目录: 修复方案是:让

CVSS 8.4 · High EPSS 0.21% · P10

Affected Version Matrix 8

VendorProduct Version RangeStatus
Linux Linux 5ff9d8a65ce80efb509ce4e8051394e9ed2cd942< 6b8dc3713a76346d212abab46cbfc8d7070f534c affected
5ff9d8a65ce80efb509ce4e8051394e9ed2cd942< d23265a12e4991ce7aedce670c0b6b598cadb644 affected
5ff9d8a65ce80efb509ce4e8051394e9ed2cd942< f78ddcc872248c7aa1d7e904928441a0be4c6d5d affected
3.12 affected
< 3.12 unaffected
6.18.57≤ 6.18.* unaffected
7.2.11≤ 7.2.* unaffected
7.3≤ * unaffected
Get alerts for future matching vulnerabilities Log in to subscribe

I. Basic Information for CVE-2026-98978

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
namespace: never expire a locked mount
Source: CVE Program / CVE List V5
Vulnerability Description
In the Linux kernel, the following vulnerability has been resolved: namespace: never expire a locked mount Locked mounts are special. They protect the underlying files and directories from being revealed. do_umount() refuses to unmount locked mounts but shrink_submounts() doesn't. A shrinkable mount can become locked once the owner of a user namespace puts it beneath a locked mount with MOVE_MOUNT_BENEATH. The locked property now moves to the mount at the bottom making it possible to unmount the top mount. So umount() of an unlocked ancestor now expires the bottom mount first and the covered directory is revealed: move_mount(c -> x/hidden, MOVE_MOUNT_BENEATH) = 0 the cover after the lock moved: umount2(x/hidden) = 0 the holder of the lock: umount2(x/hidden) = EINVAL the root of the copy, busy: umount2(x) = EBUSY reads x/hidden/secret: "covered-by-root" So leave a locked mount alone as it dies together with its parent. A plain umount() of an unlocked mount with a locked one below it is EBUSY from now on. It's the same for any other locked child. A lazy umount still takes the whole tree. mark_mounts_for_expiry() never sees a locked mount. lock_mnt_tree() leaves a mount on an expiry list alone and nothing else puts a locked one on such a list. Add an assert for this.
Source: CVE Program / CVE List V5
CVSS Information
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:C/C:H/I:H/A:N
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 5ff9d8a65ce80efb509ce4e8051394e9ed2cd942 ~ 6b8dc3713a76346d212abab46cbfc8d7070f534c -
Linux Linux 3.12 -

II. Public POCs for CVE-2026-98978

# 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-98978

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

Patches & Fixes for CVE-2026-98978 (1)

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

CVE-2026-98959 9.8 CRITICAL btrfs: fix xattr replace when multiple xattrs are packed in the same item
CVE-2026-99079 9.8 CRITICAL net/mlx5e: Prevent stale XSK buffer release on refill retry
CVE-2026-99078 9.8 CRITICAL net/mlx5e: Prevent stale XSK buffer release on MPWQE refill retry
CVE-2026-98870 8.8 HIGH ksmbd: remove stale channels from all sessions on teardown
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-99042 8.4 HIGH io_uring/net: populate CONNECT filter fields for 24-byte sockaddr_in6
CVE-2026-99064 8.1 HIGH cipso: adjust cached option offsets when removing CIPSO
CVE-2026-98968 8.1 HIGH amt: send the relay's General Query directly from the receive path
CVE-2026-98889 7.8 HIGH wifi: iwlwifi: mvm: fix sched scan IE sizing
CVE-2026-98991 7.8 HIGH namespace: queue a mount only once for mount notifications
CVE-2026-98976 7.8 HIGH namespace: keep the lock on a mount that a propagated copy is moved beneath
CVE-2026-98944 7.8 HIGH HID: steam: Refactor registration
CVE-2026-99056 7.8 HIGH strparser: make sure __strp_recv isn't running before tearing down the parser
CVE-2026-98999 7.8 HIGH drm/xe: Fix stale pinned_link entry when fb-pin performs the final unpin
CVE-2026-99054 7.8 HIGH tipc: destroy topsrv workqueues before closing connections
CVE-2026-99032 7.8 HIGH net/smc: protect clcsock lifetime in smc_getname

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

IV. Related Vulnerabilities