Nixpkgs security tracker

Login with GitHub

Dismissed suggestions

These automatic suggestions were dismissed after initial triaging.

to select a suggestion for revision.

View:
Compact
Detailed
Dismissed
(max. allowed matches exceeded)
created 20 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
x86/mm: Fix freeing of PMD-sized vmemmap pages

In the Linux kernel, the following vulnerability has been resolved: x86/mm: Fix freeing of PMD-sized vmemmap pages Commit bf9e4e30f353 ("x86/mm: use pagetable_free()"), switched from freeing non-boot page tables through __free_pages() to pagetable_free(). However, the function is also called to free vmemmap pages. Given that vmemmap pages are not page tables, already the page_ptdesc(page) is wrong. But worse, pagetable_free() calls: __free_pages(page, compound_order(page)); Since vmemmap pages are not compound pages (see vmemmap_alloc_block()) -- except for HVO, which doesn't apply here -- only first page of a PMD-sized vmemmap page is freed, leaking the other ones. Fix it by properly decoupling pagetable and vmemmap freeing. free_pagetable() no longer has to mess with SECTION_INFO, as only the vmemmap is marked like that in register_page_bootmem_memmap(). The indentation in remove_pmd_table() is messed up. Fix that while touching it. Bootmem info handling will soon be fixed up. For now, handle it similar to free_pagetable(), just avoiding the ifdef. [ dhansen: changelog munging. More imperative voice ]

Affected products

Linux
  • <add1e4112e00b619614784bf630aeebfdefa23e1
  • =<6.18.*
  • ==6.19
  • =<7.1.*
  • <39406c05f8f150f1685839acd38ffdd69ff92031
  • =<*
  • <03f6ecbc446c33b38fd452cd3c494092a8116967
  • <6.19
  • <6.18.39
Dismissed
(max. allowed matches exceeded)
created 20 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
x86/bugs: Enable IBPB flush on BPF JIT allocation

In the Linux kernel, the following vulnerability has been resolved: x86/bugs: Enable IBPB flush on BPF JIT allocation Enable hardening against JIT spraying when Spectre-v2 mitigations are in use. Specifically, issue an IBPB flush on BPF JIT memory reuse. Skip enabling the IBPB flush if the BPF dispatcher is already using a retpoline sequence. This hardening applies only when BPF-JIT is in use. Guard the enabling under CONFIG_BPF_JIT so that bugs.c still builds with CONFIG_BPF_JIT=n.

Affected products

Linux
  • =<6.18.*
  • <7.1.4
  • =<6.12.*
  • <a3af84b0fa00ead01fcd0e28b5d773ff25990a0d
  • <6.6.145
  • =<7.1.*
  • <9354248fc1c33a844ca1872761f6668b393e8c37
  • <cb27f3bf915cc0f20fc0c48da9059304e39ebd35
  • =<*
  • =<6.6.*
  • <6.12.97
  • <52440e15d9628f8f239373c0f2e5e8f92feea2df
  • <8a4c8af9ae67eb072d90d1b339f14d27a82bd2a1
  • <6.18.39
Dismissed
(max. allowed matches exceeded)
created 20 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
hwrng: virtio: clamp device-reported used.len at copy_data()

In the Linux kernel, the following vulnerability has been resolved: hwrng: virtio: clamp device-reported used.len at copy_data() random_recv_done() stores the device-reported used.len directly into vi->data_avail. copy_data() then indexes vi->data[] using vi->data_idx (advanced by previous copy_data() calls) and issues a memcpy() without re-validating either value against the posted buffer size sizeof(vi->data) (SMP_CACHE_BYTES bytes, typically 32 or 64). A malicious or buggy virtio-rng backend can set used.len beyond sizeof(vi->data), steering the memcpy() past the end of the inline array into adjacent kmalloc-1k slab bytes. hwrng_fillfn() mixes those bytes into the guest RNG, and guest root can also observe them directly via /dev/hwrng. Concrete impact is inside the guest: - Memory-safety / hardening: any virtio-rng backend that over-reports used.len causes the driver to read past vi->data into unrelated slab contents. hwrng_fillfn() is a kernel thread that runs as soon as the device is probed; no guest userspace interaction is required to first-trigger the OOB. - Cross-boundary leak (confidential-compute threat model): a malicious hypervisor cooperating with a malicious or compromised guest root userspace can use /dev/hwrng as a leak channel for guest-kernel heap data. The host sets a large used.len, guest root reads /dev/hwrng, and the returned bytes contain guest kernel slab contents that were adjacent to vi->data. In practice, confidential-compute guests (SEV-SNP, TDX) usually disable virtio-rng entirely, so this path is narrow, but the fix is still worth carrying because the underlying memory-safety bug contaminates the guest RNG on any host. KASAN confirms the OOB on a 7.1-rc4 guest whose virtio-rng backend has been patched to report used.len = 0x10000: BUG: KASAN: slab-out-of-bounds in virtio_read+0x394/0x5d0 Read of size 64 at addr ffff88800ae0ba20 by task hwrng/52 Call Trace: __asan_memcpy+0x23/0x60 virtio_read+0x394/0x5d0 hwrng_fillfn+0xb2/0x470 kthread+0x2cc/0x3a0 Allocated by task 1: probe_common+0xa5/0x660 virtio_dev_probe+0x549/0xbc0 The buggy address belongs to the object at ffff88800ae0b800 which belongs to the cache kmalloc-1k of size 1024 The buggy address is located 0 bytes to the right of allocated 544-byte region [ffff88800ae0b800, ffff88800ae0ba20) Same class of bug as commit c04db81cd028 ("net/9p: Fix buffer overflow in USB transport layer"), which hardened usb9pfs_rx_complete() against unchecked device-reported length in the USB 9p transport. With the clamp at point of use and array_index_nospec() in place, the same harness boots cleanly: copy_data() returns zero for the bogus report, the device-supplied bytes after data_idx are discarded, and the driver issues a fresh request.

Affected products

Linux
  • <2e788948ff2a13358a303af112497a63201c5739
  • ==2.6.26
  • =<6.18.*
  • <2.6.26
  • <fde19b0d4eeabae042519313c843fe6f27d41e9d
  • <81dd21b5f0c299cc7b5bf84f04a61938559d20e6
  • =<5.15.*
  • =<6.12.*
  • <63335e7b638ae70028ae285bb95153874a8bc852
  • <e3046eeada299f917a8ad883af4434bfb86556b1
  • =<6.1.*
  • =<7.1.*
  • =<6.6.*
  • =<*
  • <3aa3e89cf80721c8d382b4c1a2b70a0449dad4a5
  • <285e17c44e3873a73460f294acbd64018ff64385
  • <92d5736a62040ec1cfff23ea57e6599301690ad5
  • =<5.10.*
Dismissed
(max. allowed matches exceeded)
created 20 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
PCI: altera: Fix resource leaks on probe failure

In the Linux kernel, the following vulnerability has been resolved: PCI: altera: Fix resource leaks on probe failure The chained IRQ handler is set during probe, but is only removed during the driver remove(). If pci_host_probe() fails, the handler and INTx IRQ domain remain set even though the devm-managed host bridge storage containing struct altera_pcie will be released, leaving the handler with a stale data pointer. Interrupts are also enabled before pci_host_probe() is called. If probe fails after that point, the controller interrupt source should be disabled before the chained handler and INTx domain are removed. So set the chained handler only after the INTx domain has been created. Disable controller interrupts during IRQ teardown, and tear the IRQ setup down if pci_host_probe() fails. [mani: commit log]

Affected products

Linux
  • <af7cf5d56d7d57c4fbfdb7b5b693790f331b07b7
  • =<5.10.*
  • <0db9aa9ec51be0a0ffdcdfd9af2b7bf3aeb7911a
  • =<6.18.*
  • <7a94138caeb27f3c49c1dbd93bf422098925bb28
  • =<5.15.*
  • =<6.12.*
  • <5.9
  • =<7.1.*
  • <09c43b7b7d29c6fadb27f32cdf7f3bb6598befa9
  • <9cf0cc481e1645ec65e61486ae41c486c59781cb
  • =<6.1.*
  • <6864c789b570e57f932847fa83f6b56917182d73
  • =<6.6.*
  • =<*
  • ==5.9
  • <99fc088d6cc6890ae35fa2f29c50ebe027844c20
  • <a25bfa2a6665a1d77324d4a609e7513b87680227
Dismissed
(max. allowed matches exceeded)
created 20 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
vfio/mlx5: Fix racy bitfields and tighten struct layout

In the Linux kernel, the following vulnerability has been resolved: vfio/mlx5: Fix racy bitfields and tighten struct layout Bitfield operations are not atomic, they use a read-modify-write pattern, therefore we should be careful not to pack bitfields that can be concurrently updated into the same storage unit. This split takes a binary approach: flags that are only modified pre/post open/close remain bitfields, flags modified from user action, including actions that reach across to another device (ex. reset) use dedicated storage units. Note mlx5_vhca_page_tracker.status is relocated to fill the alignment hole this split exposes. Bitfield justifications: migrate_cap: written only in mlx5vf_cmd_set_migratable() at probe chunk_mode: written only in mlx5vf_cmd_set_migratable() at probe mig_state_cap: written only in mlx5vf_cmd_set_migratable() at probe Dedicated storage units: mdev_detach: written in the VF attach/detach event notifier mlx5fv_vf_event() at runtime log_active: written in mlx5vf_start_page_tracker()/ mlx5vf_stop_page_tracker() during runtime dirty tracking deferred_reset: written in mlx5vf_state_mutex_unlock()/ mlx5vf_pci_aer_reset_done() during runtime reset handling is_err: set by tracker error handling and dirty-log polling at runtime object_changed: set by tracker event handling and cleared by dirty-log polling at runtime

Affected products

Linux
  • <399d806f998f7a25405fc1b97227e579aead24af
  • =<6.18.*
  • ==5.19
  • <5.19
  • =<6.12.*
  • =<7.1.*
  • =<6.1.*
  • <f1db80a67da928a92ba460ede1be52d8941f46be
  • <7ed120b1a007bace57c461805519d70e1af44e59
  • <39d163627b51886492bf31f66cb02c94613d2287
  • <1dd99b8f4e143592e12e5a77e7b538bc698116cb
  • =<*
  • =<6.6.*
  • <f2365a63b02ddea32e7db78b742c2503ec7b81f1
Dismissed
(max. allowed matches exceeded)
created 20 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
ALSA: caiaq: fix out-of-bounds read in the Traktor Kontrol S4 input parser

In the Linux kernel, the following vulnerability has been resolved: ALSA: caiaq: fix out-of-bounds read in the Traktor Kontrol S4 input parser snd_usb_caiaq_tks4_dispatch() decodes the Traktor Kontrol S4 input stream in fixed 16-byte (TKS4_MSGBLOCK_SIZE) message blocks. On every iteration it advances buf and subtracts the block size while looping on "while (len)". len is urb->actual_length. That value is supplied by the device and is not guaranteed to be a multiple of 16. When a final short block leaves len between 1 and 15, the loop runs once more, reads up to buf[15], and then does "len -= TKS4_MSGBLOCK_SIZE". As len is unsigned this underflows to a huge value. The loop then keeps iterating and walking buf far past the end of the 512-byte ep4_in_buf, reading out of bounds until a bogus block id happens to be hit. Iterate only while a full message block is available. This stops the unsigned underflow and silently drops any trailing partial block, which carries no complete control value anyway. The sibling endpoint-4 parsers are not affected. The Traktor Kontrol X1 and Maschine arms in snd_usb_caiaq_ep4_reply_dispatch() floor urb->actual_length before dispatching.

Affected products

Linux
  • =<6.18.*
  • <70d6d4cfa4ad09688aed2ec8a0cfa72c31f60334
  • =<6.12.*
  • <05df59b9a61f7ca66548df079d306c41da23845d
  • <3cad86197c7bf8b45bb1d8adc1099d0913e80469
  • =<7.1.*
  • <0680413f2f10aab43878dd3db711a6a9e45bab7c
  • <884f575cc6acb136eb4a161d925147f85b59c27e
  • =<6.1.*
  • =<*
  • =<6.6.*
  • <de5f9edc705497b1b2c6b173b22f283486d2fd91
  • =<5.15.*
  • <a5fd3122283bf75c04f6414bf610100beb0565b0
  • ==2.6.37
  • <2.6.37
  • =<5.10.*
  • <f7f3f9fd81e7adbaa12c2e62ee07f0e094a543fd
Dismissed
(max. allowed matches exceeded)
created 20 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
netfilter: handle unreadable frags

In the Linux kernel, the following vulnerability has been resolved: netfilter: handle unreadable frags sashiko reports: When an skb with unreadable fragments (such as from devmem TCP, where skb_frags_readable(skb) returns false) is processed by the u32 module, skb_copy_bits() will safely return a negative error code [..] xt_u32: bail out with hotdrop in this case. gather_frags: return -1, just as if we had no fragment header. nfnetlink_queue: restrict to the linear part. nfnetlink_log: restrict to the linear part. v2: - skb_zerocopy helpers don't copy readable flag, i.e. nfnetlink_queue is broken too xt_u32 shouldn't return true if hotdrop was set.

Affected products

Linux
  • <3b13e7635795394705920cca1e1db7e4ca2e334b
  • ==6.12
  • =<6.18.*
  • <da5b58478a9c1b85608c9e40a3b8432d071b409e
  • <57056be3ec12e7d9ecd20a60d4060f510e4f284c
  • <6.12
  • =<6.12.*
  • =<7.1.*
  • =<*
  • <fc5bfe63bacf8a3ae307b62b34206406ca733354
Dismissed
(max. allowed matches exceeded)
created 20 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
usb: gadget: f_fs: Fix DMA fence leak

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: f_fs: Fix DMA fence leak In ffs_dmabuf_transfer(), a ffs_dma_fence object is kmalloc'd, with the underlying dma_fence later initialized by dma_fence_init(), which sets its kref counter to 1. Then, dma_resv_add_fence() gets a second reference, and a pointer to the ffs_dma_fence is passed as the usb_request's "context" field. The dma-resv mechanism will manage the second reference, but the first reference is never properly released; the ffs_dmabuf_cleanup() function decreases the reference count, but only to balance with the reference grab in ffs_dmabuf_signal_done(). The code will then slowly leak memory as more ffs_dma_fence objects are created without being ever freed. Address this issue by transferring ownership of the fence to the DMA reservation object, by calling dma_fence_put() right after dma_resv_add_fence(). The ffs_dma_fence then gets properly discarded after being signalled.

Affected products

Linux
  • <e086c16962a1b0142e2675610e9c06fcfcd4c3a8
  • <6.9
  • =<6.18.*
  • <0cae3d6109427c455bad0a18dfb3e2a91657e38a
  • =<6.12.*
  • =<7.1.*
  • <baa6b6068a3f2bf2ed525a1cb37975905dadc658
  • <b7475b2dce5e121e687280ba5732ccefe77ffd2f
  • =<*
  • ==6.9
Dismissed
(max. allowed matches exceeded)
created 20 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
ksmbd: use opener credentials for delete-on-close

In the Linux kernel, the following vulnerability has been resolved: ksmbd: use opener credentials for delete-on-close Delete-on-close can be completed by deferred or durable handle teardown, where no request work is available. Both the base-file unlink and the ADS xattr removal consequently run with the ksmbd worker credentials and can bypass filesystem permission checks. Run both operations with the credentials captured in struct file when the handle was opened. This preserves the authenticated user's fsuid, fsgid, supplementary groups and capability restrictions at final close.

Affected products

Linux
  • <f08b3f451f12eee4abd8a5981803bc36db84458b
  • <4b7059974549d278e30fe70e2a4e421f9839817d
  • =<6.18.*
  • <e72c15085b6d86f45d224d98aa75b5cace4aaab9
  • <6.12.96
  • <52e2f21911158ec961cd5aae19c56460db382af0
  • <18c59109bb6fb816d5102171666f87cf1e29901d
  • =<6.12.*
  • <6.6.145
  • =<7.1.*
  • =<*
  • =<6.6.*
  • <7.1.4
  • <6.18.39
Dismissed
(max. allowed matches exceeded)
created 20 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
staging: rtl8723bs: fix OOB write in HT_caps_handler()

In the Linux kernel, the following vulnerability has been resolved: staging: rtl8723bs: fix OOB write in HT_caps_handler() HT_caps_handler() iterates pIE->length bytes and writes into HT_caps.u.HT_cap[], which is a fixed 26-byte array (sizeof struct HT_caps_element). Because pIE->length is a raw u8 from an over-the-air 802.11 AssocResponse frame and is never validated, a malicious AP can set it up to 255, causing up to 229 bytes of out-of-bounds writes into adjacent fields of struct mlme_ext_info. Truncate the iteration count to the size of HT_caps.u.HT_cap using umin() so that data from a longer-than-expected IE is silently ignored rather than written out of bounds, preserving interoperability with APs that pad the element. An early return on oversized IEs was considered but rejected: it would bypass the pmlmeinfo->HT_caps_enable = 1 assignment that precedes the loop, silently disabling HT mode for APs that append extra bytes to the HT Capabilities IE.

Affected products

Linux
  • <225b6d3fc7e99ac3d20b6c861d1e47d24e7ea31d
  • =<6.18.*
  • =<6.12.*
  • <37f642d47c3648a707df3ceb092eee1adffbfd28
  • =<7.1.*
  • <bb3b942da4123b55d1cacf19d1a7d5ba15dbf83a
  • ==4.12
  • =<6.1.*
  • =<*
  • =<6.6.*
  • <8c872b47c7fc32e95e0da1db7512388794adcd69
  • <918537a0fbed85aab61fa28ad75e6279070610c9
  • =<5.15.*
  • <6f91621fc45025ad3c0be796b70e6e4cee22fc69
  • <4.12
  • <f8001e1a516ba3b495728c65b61f799cbfad6bd0