CVE Vulnerability Catalog

Translated CVE descriptions from NVD NIST - in English

Browse vulnerabilities by package

CISA KEV catalog updated: (v2026.11.04)

Weekly CVE digest

One email a week with newly published vulnerabilities worth knowing about. No account needed.

This digest covers new vulnerabilities in general, not your servers. If you want to know which of them actually run in your infrastructure, that is what Secvalis does: it scans your machines and reports only what concerns them.

I agree to receive the weekly CVE digest at the address above. I can withdraw this consent at any time using the link in the footer of every message.

CVE-2026-89764
High

In the Linux kernel's Rust devres layer, a race condition occurs when two paths concurrently revoke a Devres. devres_release_all() calls Revocable::revoke() via the release callback, while Devres::drop() calls revoke_nosync() on another CPU. The revoker that does not claim the is_available swap returns immediately, but the other may still be executing drop_in_place() on the inner data, causing a use-after-free. The fix adds a Completion that Devres::drop() waits on when it loses the is_available swap.

CVE-2026-89763
High

A use-after-free vulnerability exists in the Linux kernel's trusted keys (KEYS: trusted) module due to incorrect TPM teardown ordering. The trusted_tpm_exit() function drops the TPM chip reference and frees the digest array before unregistering the trusted key type, allowing a concurrent key operation to dereference freed memory.

CVE-2026-89762
High

A use-after-free (UAF) vulnerability in the Linux kernel's AppArmor module, related to begin_current_label_crit_section(), has been fixed. The function could directly replace credential pointers (struct cred) during an LSM hook invocation, causing task->cred and task->real_cred to become inconsistent and leading to freed credential memory still being referenced by other tasks.

CVE-2026-89761
High

A fix has been applied in the Linux kernel for an out-of-bounds write in the AppArmor aa_vec_unique() function. When all label components are distinct, the NULL terminator is written to vec[n], but vec_setup() does not reserve space for this extra entry, causing a write one element past the end of the local array or allocation. The vulnerability can be triggered by an unprivileged task writing to /proc/self/attr/apparmor/current or via lsm_set_self_attr(2), and also through the securityfs .access file which is mode 0666.

CVE-2026-89760
High

In the Linux kernel, a bug in swap memory management causes hibernation slots to be freed even when a folio is present in the swap cache. The function swap_free_hibernation_slot() clears the entry under that folio, making it unreachable from the swap table and allowing the offset to be reused by another process. This can trigger silent memory corruption, process crashes, or data instability across unrelated userspace applications, typically when uswsusp is preparing the hibernation image.

CVE-2026-89759
Low risk· EPSS 9%

In the Linux kernel, a vulnerability was fixed in the kmemleak module where kmemleak_scan() scanned all task stacks under a single RCU read-side critical section with no reschedule point. On hosts with very many threads, this could hog a CPU and trip the soft lockup watchdog. The fix walks tasks one PID at a time using find_ge_pid() and releases the RCU lock between tasks.

CVE-2026-89758
High

A vulnerability exists in the Linux kernel's queue_folios_pmd() function in mm/mempolicy, which fails to skip non-present PMD entries (e.g., device-private) before calling pmd_folio(). This can lead to VM_BUG_ON() on debug kernels, an oops on a bogus vmemmap dereference, or silently isolating an unrelated live folio from LRU. The issue is triggered when an HMM-based GPU driver migrates an anonymous THP folio to device memory and userspace then calls mbind(), migrate_pages(), or set_mempolicy_home_node().

CVE-2026-89757
Low risk· EPSS 11%

In the Linux kernel, the mglru mechanism's sort_folio() function contained a buggy shortcut for folios that are no longer evictable but still on a generation list. The bug caused mlock_count to alias LIST_POISON2 (0x122, i.e. 290), leading to incorrect Mlocked accounting and folios remaining unevictable until freed. The shortcut also manipulated LRU flags in the wrong order, potentially causing unexpected behavior during concurrent folio isolation.

CVE-2026-89756
Low risk· EPSS 8%

In the Linux kernel, migrate_pages_batch() unmaps each folio, which on KVM hosts triggers expensive MMU notifier callbacks and keeps the CPU busy for a long time. The loop only calls cond_resched(), which is a no-op on PREEMPTION kernels, so the migrating task (e.g. kcompactd) never reports a Tasks-RCU quiescent state and stalls the Tasks-RCU grace period for minutes.

CVE-2026-89755
High

In the Linux kernel, __migrate_device_pages() reads the folio mapping before calling folio_free_swap(). When folio_free_swap() succeeds, the folio is removed from the swap cache but the saved mapping still points to swap_space, leading to use of a stale mapping and invalid reference accounting, eventually triggering a folio reference count BUG.

CVE-2026-89754
High

A flaw in the Linux kernel's mm/pagewalk mechanism causes walk->action to remain incorrectly set to ACTION_AGAIN after a PMD entry is cleared, leading to duplicate walk callbacks and an out-of-bounds write. This was detected by KASAN in __mincore_unmapped_range.

CVE-2026-89753
Low risk· EPSS 7%

In the Linux kernel, the scan loop in shrink_lruvec() only calls cond_resched(), which is a no-op on PREEMPTION kernels. As a result, the reclaiming task never reports a Tasks-RCU quiescent state and becomes a holdout, causing rcu_tasks stalls during reclaim.

CVE-2026-89752
Low risk· EPSS 7%

In the Linux kernel, kernfs serializes file operations only per open file, so concurrent writes to memory.high or memory.max can overlap. If another writer raises or removes the limit, the first writer may keep reclaiming toward a stale target, and for memory.max it can loop indefinitely while repeatedly incrementing the OOM event counter.

CVE-2026-89751
Low risk· EPSS 6%

On x86, TDX port I/O handling (handle_in() and handle_out()) uses the mask GENMASK(BITS_PER_BYTE * size, 0), which includes the high bit. For size=1 this yields a 9-bit mask 0x1FF instead of the 8-bit 0xFF, making the mask one bit too wide for all I/O sizes.

CVE-2026-89750
High

In the Linux kernel, dup_task_struct() copies user_event_mm from the parent to the child without taking a reference. If user_event_mm_alloc() fails, user_event_mm_dup() leaves the copied pointer unmodified, and when the child exits user_event_mm_remove() decrements a reference the child never owned, leading to a use-after-free (UAF).

CVE-2026-89749
Low risk· EPSS 11%

In the Linux kernel, event_test_stuff() calls kthread_run() and unconditionally passes the returned task_struct pointer to kthread_stop(). When thread creation fails (e.g. under memory pressure during the boot-time self-test), kthread_run() returns an error pointer such as ERR_PTR(-ENOMEM), and kthread_stop() dereferences the invalid pointer, crashing the kernel.

CVE-2026-89748
High

In the Linux kernel, simple_ring_buffer_swap_reader_page() starts with retry set to 8 and decrements it only after a failed link replacement. On the final attempt, a successful replacement leaves retry at zero while a failed one leaves it at -1, so the !retry test reverses both outcomes and can corrupt the ring buffer.

CVE-2026-89747
High

In the Linux kernel, writing to buffer_subbuf_size_kb calls ring_buffer_subbuf_order_set(), which frees every sub-buffer of the ring buffer, including the reader page. trace_pipe readers hold pointers into those pages, and ring_buffer_peek() returns the event pointer after dropping the lock, so changing the sub-buffer order in that window leads to a use-after-free.

CVE-2026-89746
High

A use-after-free vulnerability exists in the Linux kernel tracing subsystem when two hist triggers with the same name (name=) are registered on different events. The second trigger reuses the first as named_data, but its entry in the tr->hist_vars list is never removed, leaving a dangling pointer to freed hist_data. A later hist trigger referencing a variable then dereferences the freed memory and panics the kernel.

CVE-2026-89745
Low risk· EPSS 9%

In the Linux kernel, the debugfs lockdown check did not cover the mmap_prepare file operation, only mmap. As a result, files using mmap_prepare could bypass the lockdown when the kernel was in integrity mode.

Vulnerability data from NVD (NIST) · CISA KEV · EPSS