CVE Vulnerability Catalog
Translated CVE descriptions from NVD NIST - in English
Browse vulnerabilities by packageCISA 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.
In the Linux kernel's BPF subsystem for s390 architecture, there is an issue with the 'ly' instruction that does not zero the upper bits of a 64-bit register when loading a 32-bit value. The 'llgf' instruction should be used instead, as it correctly zeroes the upper bits.
In the Linux kernel's BPF subsystem, there is a vulnerability allowing writes through untrusted BTF pointers, bypassing the read-only policy for pointers created by helpers such as bpf_rdonly_cast(). Non-read accesses are not rejected at the common entry point.
In the Linux kernel, bpf_get_btf_vmlinux() has a race condition when publishing the parsed vmlinux BTF result. The result is published via a plain store and read locklessly, which on weakly ordered architectures could allow observing the pointer before initialized data is visible. The fix adds memory barriers (smp_store_release/smp_load_acquire).
In the Linux kernel, bpf_find_vma() reads task->mm and calls mmap_read_trylock() without holding a reference to mm_struct. For a foreign task, concurrent exit_mm() can free the mm_struct between the read and the trylock, leading to use-after-free. The fix pins the mm under task->alloc_lock and uses mmput_async(), rejecting irqs-disabled contexts and !CONFIG_MMU.
In the Linux kernel, the BPF verifier mishandles scalar ids when filling the stack with sign-extending narrowing loads. The shared scalar id is not dropped, so two registers can share the same id while holding different values, allowing the verifier to infer incorrect bounds and enabling an out-of-bounds access.
In the Linux kernel, the BPF subsystem fails to validate the rdonly_buf_size and rdwr_buf_size kfunc arguments. Values exceeding U32_MAX are not rejected but truncated when assigned to the u32 mem_size field, causing the verifier to record an incorrect memory size bound.
In the Linux kernel USB gadget UAC1/UAC2 module, configfs rate-list attributes did not validate the input length before storing values into fixed-size arrays of UAC_MAX_RATES (10) entries. Supplying more than ten rates caused an out-of-bounds write past p_srates[] or c_srates[], leading to memory corruption. Additionally, freeing the advanced strsep() cursor caused a memory leak or an interior pointer free.
In the Linux kernel, the error paths for endpoint-disabled (ESHUTDOWN) and request-allocation failure (ENOMEM) in ffs_dmabuf_transfer() of the USB gadget f_fs driver called dma_fence_put() on a fence that had only been kmalloc'd, without dma_fence_init() having been called. Calling dma_fence_put() on such an uninitialized object leads to undefined behavior. The fix replaces it with kfree().
In the Linux kernel, the error path labels in asus_wmi_add() of the platform/x86 asus-wmi driver are out of order relative to the subsystem registration sequence. As a result, failures in asus_wmi_custom_fan_curve_init() or asus_screenpad_init() skip cleanup calls for previously registered resources, leaking them. The fix reorders the labels to match the reverse order of allocations.
In the Linux kernel, bpf_cpumask_populate() writes to its destination with bitmap_copy(), but the destination is typed as struct cpumask *. This allows the verifier to accept borrowed cpumask pointers returned by read-only kfuncs (e.g., scx_bpf_get_online_cpumask()) as a writable destination. The fix changes the destination type to struct bpf_cpumask * so it follows the same ownership rule as other mutating cpumask kfuncs.
In the Linux kernel, the tracing_multi link does not set ftrace_managed, causing failure to release the tracing_multi link when attaching a tracing_multi link followed by an fentry link. This triggers a warning in bpf_trampoline_multi_detach and potential resource leaks. The fix sets 'ftrace_managed = true' in register_fentry_multi().
A flaw in the Linux kernel RDMA/rxe module causes the same packet to be reprocessed after a QP enters the error state. When a QP transitions to error while a packet is being completed (e.g. an rdma_cm disconnect racing with receive processing), the responder state machine loops and repeatedly posts the same IB_WC_SUCCESS completion, eventually dereferencing a NULL pointer and panicking the kernel. The duplicate completions are indistinguishable from real receives, breaking RC exactly-once delivery.
In the Linux kernel, esp_ssg_unref() releases page references held on the source scatterlist after the AEAD operation completes. It calls skb_page_unref() on every frag page for out-of-place transforms and in the error path of esp_output_tail(). This is wrong when the skb carries managed frags (SKBFL_MANAGED_FRAG_REFS), which are owned by a zerocopy ubuf and the skb does not hold a per-frag page reference. The missing guard causes a page reference count underflow and frees a page still in use.
Vulnerability in the HFS+ filesystem in the Linux kernel involves missing validation of the thread record before rebuilding the delete key. When hfsplus_delete_cat() is called with str == NULL, it reconstructs the key from thread.nodeName without checking if the record is valid. A corrupted image can provide an oversized name length, leading to a buffer overflow. The fix uses hfsplus_brec_read_cat(), which bounds the record read and verifies the record size.
In the Linux kernel, the cxl/features module's cxlctl_get_feature() sizes its output buffer from the user's fwctl_rpc.out_len but tells the device to write cxl_mbox_get_feat_in.count bytes, where count is a separate user-controlled value. Nothing bounds count against out_len, so a small out_len with a large count overflows the kvzalloc()'d buffer, causing a heap out-of-bounds write reachable from FWCTL_RPC.
In the Linux kernel, the dax/fsdev module's __fsdev_dax_direct_access() uses virt_addr + linear_offset instead of __va(phys) for the kaddr return. For multi-range devices with physical gaps between ranges, this linear arithmetic crosses the gap and produces a wrong kernel virtual address.
In the Linux kernel, the media ipu6 driver freed pdata after auxiliary device initialization, which could lead to a double free of the same object. Error paths already call put_device() and auxiliary_device_uninit(), which trigger release via ipu6_bus_release().
In the Linux kernel wifi iwlwifi mei driver, the SAP message size was not checked before reading the message. The lack of size verification could lead to a buffer overflow.
In the Linux kernel, the uio driver has a stale info pointer issue in the failed registration path. After device_add(), the UIO device is visible to userspace and /dev/uioX can be opened. If a later setup step fails, __uio_register_device() unwinds the device but leaves idev->info pointing at the caller-owned struct uio_info. This is unsafe when an opener races with the failed registration path, leading to use-after-free. The fix handles post-device_add() failures like unregister: removes UIO attributes, clears idev->info under info_lock, and wakes waiters before removing the device.
In the Linux kernel, the software_node_get_reference_args() function incorrectly checked the index bounds when UINT_MAX was passed, leading to an out-of-bounds access in the property array. The fix extends the bounds check to also cover the UINT_MAX case.
Vulnerability data from NVD (NIST) · CISA KEV · EPSS

