CVE-2026-89485Critical· 9.8▾ MidnightIn the Linux kernel, the following vulnerability has been resolved: lockd: pin next file across nlm_inspect_file lock-drop nlm_traverse_files() pins the current file with f_count++ across a mutex_unlock for nlm_inspect_file(), but noth…
▾ Midnight zone — Critical, or high with PoC / in-the-wild
impact 53.9 · likelihood 0.1 · exploitation 0
Need a working PoC? Pro members can cast a request and our team develops one — it lands right here.
Exploit-prediction probability, daily snapshots since Sep 12.
Disclosure to exploitation, from the record and what we observed since indexing it.
Disclosed via CVEORG
0.2%
— → 5.3
none → medium
— → 9.8
none → critical
9.8 → 5.3
critical → medium
5.3 → 9.8
medium → critical
9.8 → 7
critical → high
0.2% → 0.8%
Last analysed / modified upstream
7 → 9.8
high → critical
In the Linux kernel, the following vulnerability has been resolved:
lockd: pin next file across nlm_inspect_file lock-drop
nlm_traverse_files() pins the current file with f_count++ across a mutex_unlock for nlm_inspect_file(), but nothing pins the saved next pointer. A concurrent nlm_release_file() can kfree the next file during the unlock window, and the iterator dereferences freed memory on the next loop step.
Pin both current and next before the lock-drop. Advance by swapping the pinned cursors at the end of each iteration so next is always held alive across the unlock.
Always call nlm_file_release() after dropping the iteration pin, regardless of whether the file matched the predicate. Use nlm_file_inuse(), which does a live walk of the inode lock list, rather than the cached f_locks field, so skipped files that never ran nlm_inspect_file() are evaluated correctly.
Because every file in a hash bucket is now pinned and released, files skipped by the is_failover_file predicate that have no locks, blocks, shares, or external references are deleted during traversal. The old code never evaluated skipped files for cleanup. The new behavior is intentional: such files are stale and should not persist in the table.
Linux >= 01df9c5e918ae5559f2d96da0143f8bfbb9e6171 < e3c413f789eaf0170275c7eba523ead73d963f30Linux >= 01df9c5e918ae5559f2d96da0143f8bfbb9e6171 < 08a455f87b14c7ff22ae3fdadda62a796a3a5572Linux >= 01df9c5e918ae5559f2d96da0143f8bfbb9e6171 < 550c19222c7132c888e23c9d89079ba1c9bc4ccaLinux >= 01df9c5e918ae5559f2d96da0143f8bfbb9e6171 < 350087f231c11efcd288c310707c40eab63ca583Linux >= 01df9c5e918ae5559f2d96da0143f8bfbb9e6171 < c24bdb7df2f34bdc38ca8a73796f5acb40f1830cLinux >= 01df9c5e918ae5559f2d96da0143f8bfbb9e6171 < 41f0a6d31615fcae261bf28a0aa50050dc93a401Linux >= 01df9c5e918ae5559f2d96da0143f8bfbb9e6171 < e999a88133654c6dfc68487fb49da5f20dfa2d4fLinux >= 01df9c5e918ae5559f2d96da0143f8bfbb9e6171 < 526c49cff3f72c3ec74752016380c7567040581bLinux 2.6.18Refer to the linked advisories for vendor-supplied fixes and affected version ranges.
Field changes observed since this record was first indexed.
Connected by shared product, vendor, weakness, or advisory.
CVE-2024-57804High· 7.3scsi: mpi3mr: Fix corrupt config pages PHY state is switched in sysfs
CVE-2024-47794High· 7.8bpf: Prevent tailcall infinite loop caused by freplace
CVE-2025-39977High· 7.8In the Linux kernel, the following vulnerability has been resolved: futex: Prevent use-after-free during requeue-PI syzbot managed to trigger the following race: T1 T2 futex_wait_requeue_pi() fute…
CVE-2026-100070Medium· 5.5In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_nat_sip: rewind offset when NAT shrinks the packet sashiko says: If map_addr() changes the packet length, such as when the public NAT IP string is shor…
CVE-2026-100071Medium· 5.5In the Linux kernel, the following vulnerability has been resolved: net: hsr: free learned nodes on device setup failure hsr_dev_finalize() can fail after a lower-device RX handler has already been registered (slave A is added before t…
CVE-2026-99118Nonedrm/i915/dmc: Harden DMC firmware payload parsing