Nixpkgs security tracker

Login with GitHub
⚠️ You are using a production deployment that is still only suitable for demo purposes. Any work done in this might be wiped later without notice.

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 2 months, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
drm/xe/dma-buf: fix UAF with retry loop

In the Linux kernel, the following vulnerability has been resolved: drm/xe/dma-buf: fix UAF with retry loop Retry doesn't work here, since bo will be freed on error, leading to UAF. However, now that we do the alloc & init before the attach, we can now combine this as one unit and have the init do the alloc for us. This should make the retry safe. Reported by Sashiko. v2: Fix up the error unwind (CI) (cherry picked from commit 479669418253e0f27f8cf5db01a731352ea592e7)

Affected products

Linux
  • <6.18
  • <827062952ed9bdf4220466c1f05ce452d04bdedf
  • <39fdac6be02eb7c3460518c1c4085f75f935c4ce
  • =<7.0.*
  • =<*
  • =<6.18.*
  • ==6.18
  • <155a372a1cc50fa93387c5d3cdfd614a61e1afd1
Dismissed
(max. allowed matches exceeded)
created 2 months, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
neigh: let neigh_xmit take skb ownership

In the Linux kernel, the following vulnerability has been resolved: neigh: let neigh_xmit take skb ownership neigh_xmit always releases the skb, except when no neighbour table is found. But even the first added user of neigh_xmit (mpls) relied on neigh_xmit to release the skb (or queue it for tx). sashiko reported: If neigh_xmit() is called with an uninitialized neighbor table (for example, NEIGH_ND_TABLE when IPv6 is disabled), it returns -EAFNOSUPPORT and bypasses its internal out_kfree_skb error path. Because the return value of neigh_xmit() is ignored here, does this leak the SKB? Assume full ownership and remove the last code path that doesn't xmit or free skb.

Affected products

Linux
  • <9247d59ca15bf60a57dca08103f055d8a4340877
  • <4.1
  • <0084712e0bee204b284510cdb63182fd5a30c2b7
  • <63063ba60d2dc334e34f1e3f9271d7f3f6f30307
  • =<6.18.*
  • <4438113be604ee67a7bf4f81da6e1cca41332ce4
  • =<6.1.*
  • =<6.12.*
  • =<7.0.*
  • <445e45a2c3a078316a62d2d331a570cf34ef5079
  • =<*
  • <8a89054a1ec0767aec25ed2bbac933da6ba3cf5a
  • =<6.6.*
  • ==4.1
Dismissed
(max. allowed matches exceeded)
created 2 months, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
iommu/riscv: Add IOTINVAL after updating DDT/PDT entries

In the Linux kernel, the following vulnerability has been resolved: iommu/riscv: Add IOTINVAL after updating DDT/PDT entries Add riscv_iommu_iodir_iotinval() to perform required TLB and context cache invalidations after updating DDT or PDT entries, as mandated by the RISC-V IOMMU specification (Section 6.3.1 and 6.3.2).

Affected products

Linux
  • <6.13
  • ==6.13
  • <3f917d9bff68600f77561900f3145bd4706dc840
  • <f5c262b544975e067ea265fc7403aefbbea8563e
  • =<7.0.*
  • <d99d1c13faa793ff1abab0d20ab6473c838081b3
  • =<6.18.*
  • =<*
Dismissed
(max. allowed matches exceeded)
created 2 months, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
bpf, sockmap: Fix af_unix iter deadlock

In the Linux kernel, the following vulnerability has been resolved: bpf, sockmap: Fix af_unix iter deadlock bpf_iter_unix_seq_show() may deadlock when lock_sock_fast() takes the fast path and the iter prog attempts to update a sockmap. Which ends up spinning at sock_map_update_elem()'s bh_lock_sock(): WARNING: possible recursive locking detected test_progs/1393 is trying to acquire lock: ffff88811ec25f58 (slock-AF_UNIX){+...}-{3:3}, at: sock_map_update_elem+0xdb/0x1f0 but task is already holding lock: ffff88811ec25f58 (slock-AF_UNIX){+...}-{3:3}, at: __lock_sock_fast+0x37/0xe0 other info that might help us debug this: Possible unsafe locking scenario: CPU0 ---- lock(slock-AF_UNIX); lock(slock-AF_UNIX); *** DEADLOCK *** May be due to missing lock nesting notation 4 locks held by test_progs/1393: #0: ffff88814b59c790 (&p->lock){+.+.}-{4:4}, at: bpf_seq_read+0x59/0x10d0 #1: ffff88811ec25fd8 (sk_lock-AF_UNIX){+.+.}-{0:0}, at: bpf_seq_read+0x42c/0x10d0 #2: ffff88811ec25f58 (slock-AF_UNIX){+...}-{3:3}, at: __lock_sock_fast+0x37/0xe0 #3: ffffffff85a6a7c0 (rcu_read_lock){....}-{1:3}, at: bpf_iter_run_prog+0x51d/0xb00 Call Trace: dump_stack_lvl+0x5d/0x80 print_deadlock_bug.cold+0xc0/0xce __lock_acquire+0x130f/0x2590 lock_acquire+0x14e/0x2b0 _raw_spin_lock+0x30/0x40 sock_map_update_elem+0xdb/0x1f0 bpf_prog_2d0075e5d9b721cd_dump_unix+0x55/0x4f4 bpf_iter_run_prog+0x5b9/0xb00 bpf_iter_unix_seq_show+0x1f7/0x2e0 bpf_seq_read+0x42c/0x10d0 vfs_read+0x171/0xb20 ksys_read+0xff/0x200 do_syscall_64+0x6b/0x3a0 entry_SYSCALL_64_after_hwframe+0x76/0x7e

Affected products

Linux
  • <5.15
  • <66d9fab4565eafe1afe7ba0581f79b76073b60fa
  • =<6.1.*
  • <3cef33b9813b78f227942572fb317afcd5c9ac94
  • =<6.6.*
  • ==5.15
  • <4d328dd695383224aa750ddee6b4ad40c0f8d205
  • =<6.12.*
  • =<6.18.*
  • <527057ebe8076dfbcaef51195ff1b7508646be2c
  • <bd3592129f24243713673a07225cf1f15a9bb835
  • =<7.0.*
  • =<*
  • <87828b380956d4986f59f2c086e0b09b3e6cdaae
Dismissed
(max. allowed matches exceeded)
created 2 months, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
fs/omfs: reject s_sys_blocksize smaller than OMFS_DIR_START

In the Linux kernel, the following vulnerability has been resolved: fs/omfs: reject s_sys_blocksize smaller than OMFS_DIR_START omfs_fill_super() rejects oversized s_sys_blocksize values (> PAGE_SIZE), but it does not reject values smaller than OMFS_DIR_START (0x1b8 = 440). Later, omfs_make_empty() uses sbi->s_sys_blocksize - OMFS_DIR_START as the length argument to memset(). Since s_sys_blocksize is u32, a crafted filesystem image with s_sys_blocksize < OMFS_DIR_START causes an unsigned underflow there, wrapping to a value near 2^32. That drives a ~4 GiB memset() from bh->b_data + OMFS_DIR_START and overwrites kernel memory far beyond the backing block buffer. Add the corresponding lower-bound check alongside the existing upper-bound check in omfs_fill_super(), so that malformed images are rejected during superblock validation before any filesystem data is processed.

Affected products

Linux
  • <817f16ed62bc58a168417bfb5e859c2a370bab03
  • ==2.6.27
  • <131ea3e57fc22936ed0e2c8330f2e36106172f51
  • <5822a05a841a10794ad818620dd2af490b0705d3
  • <2.6.27
  • =<6.1.*
  • =<6.6.*
  • =<5.15.*
  • =<5.10.*
  • =<7.0.*
  • =<*
  • =<6.18.*
  • <79f84af38c9fef9deb0e02c79eb969b5541c2644
  • =<6.12.*
  • <fbc72f5c645155dc2ed3573243ed20f9913e3a54
  • <0621c385fda1376e967f37ccd534c26c3e511d14
  • <6561afc38398e3518a29c5eebb975c30468f98a6
  • <754ff1bea3819a90c6f33cccfc1a299ef7609f07
Dismissed
(max. allowed matches exceeded)
created 2 months, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
batman-adv: v: stop OGMv2 on disabled interface

In the Linux kernel, the following vulnerability has been resolved: batman-adv: v: stop OGMv2 on disabled interface When a batadv_hard_iface is disabled, its mesh_iface pointer is set to NULL. However, batadv_v_ogm_send_meshif() may still dispatch OGMs via batadv_v_ogm_queue_on_if() for interfaces that have since lost their mesh_iface association. This results in a NULL pointer dereference when batadv_v_ogm_queue_on_if() unconditionally calls netdev_priv() on the now NULL hard_iface->mesh_iface to retrieve the batadv_priv. It is necessary to ensure that the batadv_v_ogm_queue_on_if() checks that it is using the same mesh_iface for which batadv_v_ogm_send_meshif() was called.

Affected products

Linux
  • <4ff461af943efb5e74d09942d5ffee7644d1e1fe
  • <d7391a2b854a62235539c68e9cbf6fc7910a8e9a
  • ==4.6
  • <040fe8eb34624002071dd21de9824dfe668ce65d
  • <31dcb9711abd1dcd2080d9fac05c79dd9997d6bf
  • <f8ce8b8331a1bc44ad4905886a482214d428b253
  • <1be1e99cbd5b74a69d3f92200ca87cf1bce852db
  • =<6.1.*
  • <4.6
  • =<5.15.*
  • <aad70db50ea3d7dfe30e402b889ff075a293b287
  • =<6.12.*
  • =<7.0.*
  • =<6.18.*
  • =<*
  • <70c9f6ab0d8f785087fb74fb85464a9a5288bfdb
  • =<6.6.*
  • =<5.10.*
Dismissed
(max. allowed matches exceeded)
created 2 months, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
netfilter: conntrack: remove sprintf usage

In the Linux kernel, the following vulnerability has been resolved: netfilter: conntrack: remove sprintf usage Replace it with scnprintf, the buffer sizes are expected to be large enough to hold the result, no need for snprintf+overflow check. Increase buffer size in mangle_content_len() while at it. BUG: KASAN: stack-out-of-bounds in vsnprintf+0xea5/0x1270 Write of size 1 at addr [..] vsnprintf+0xea5/0x1270 sprintf+0xb1/0xe0 mangle_content_len+0x1ac/0x280 nf_nat_sdp_session+0x1cc/0x240 process_sdp+0x8f8/0xb80 process_invite_request+0x108/0x2b0 process_sip_msg+0x5da/0xf50 sip_help_tcp+0x45e/0x780 nf_confirm+0x34d/0x990 [..]

Affected products

Linux
  • <a8e0a32a23d3f34862af3b4da792ecb3a891a9a3
  • <c08ff52e44945e6ef4ce0790f49ea761b060c45b
  • =<6.18.*
  • <1c9fb8aeed06790d42cdcd00f6c3ce0b9e926c1e
  • <2.6.20
  • <6bbf829b4c1b44c941c47dd0d710f1393258f3d5
  • <ab64e61c9323fa6de21bd20da1ddb29a0fb65d34
  • =<5.10.*
  • =<5.15.*
  • <8e3be0d12615a173fe260cd42753ca7a001acbf2
  • =<6.1.*
  • ==2.6.20
  • =<6.12.*
  • =<7.0.*
  • =<*
  • =<6.6.*
  • <6e7066bdb481a87fe88c4fa563e348c03b2d373d
  • <2f793ba78470a99f40389b7dc60a81d9f5ad3956
Dismissed
(max. allowed matches exceeded)
created 2 months, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
iommu/vt-d: Fix oops due to out of scope access

In the Linux kernel, the following vulnerability has been resolved: iommu/vt-d: Fix oops due to out of scope access Below oops triggers when kill QEMU process: Oops: general protection fault, probably for non-canonical address 0x7fffffff844eaaa7: 0000 [#1] SMP NOPTI Call Trace: <TASK> do_raw_spin_lock+0xaa/0xc0 _raw_spin_lock_irqsave+0x21/0x40 domain_remove_dev_pasid+0x52/0x160 intel_nested_set_dev_pasid+0x1b9/0x1e0 __iommu_set_group_pasid+0x56/0x120 pci_dev_reset_iommu_done+0xe3/0x180 pcie_flr+0x65/0x160 __pci_reset_function_locked+0x5b/0x120 vfio_pci_core_close_device+0x63/0xe0 [vfio_pci_core] vfio_df_close+0x4f/0xa0 vfio_df_unbind_iommufd+0x2d/0x60 vfio_device_fops_release+0x3e/0x40 __fput+0xe5/0x2c0 task_work_run+0x58/0xa0 do_exit+0x2c8/0x600 do_group_exit+0x2f/0xa0 get_signal+0x863/0x8c0 arch_do_signal_or_restart+0x24/0x100 exit_to_user_mode_loop+0x87/0x380 do_syscall_64+0x2ff/0x11e0 entry_SYSCALL_64_after_hwframe+0x76/0x7e The global static blocked domain is a dummy domain without corresponding dmar_domain structure, accessing beyond iommu_domain structure triggers oops easily. Fix it by return early in domain_remove_dev_pasid() like identity domain.

Affected products

Linux
  • <88397fad7914ee74a7880fa5ce01f9eb6bfe0743
  • <a6dea58d8625c06b9654c0555f101742481335c3
  • =<7.0.*
  • ==6.6
  • =<6.18.*
  • =<*
  • <6.6
  • <1e659db468476733d217c1314c1e0d9244356d6c
Dismissed
(max. allowed matches exceeded)
created 2 months, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
batman-adv: tvlv: reject oversized TVLV packets

In the Linux kernel, the following vulnerability has been resolved: batman-adv: tvlv: reject oversized TVLV packets batadv_tvlv_container_ogm_append() builds a TVLV packet section from the tvlv.container_list. The total size of this section is computed by batadv_tvlv_container_list_size(), which sums the sizes of all registered containers. The return type and accumulator in batadv_tvlv_container_list_size() were u16. If the accumulated size exceeds U16_MAX, the value wraps around, causing the subsequent allocation in batadv_tvlv_container_ogm_append() to be undersized. The memcpy-style copy that follows would then write beyond the end of the allocated buffer, corrupting kernel memory. Fix this by widening the return type of batadv_tvlv_container_list_size() to size_t. In batadv_tvlv_container_ogm_append(), check the computed length against U16_MAX before proceeding, and bail out as if the allocation had failed when the limit is exceeded.

Affected products

Linux
  • <1595628a2f877d052eda18865ccf539392c47c04
  • <94a3d72cd9b21116d7c6d5bdc57c11401fc28557
  • <ede47988ac5687793745b17c1634a496a2299919
  • <c02aa6c0c9d1bea9bb75dea362b75ad225137bae
  • <94db72e9dac202e017ee3db22c59d17e4f3bf171
  • <13493b00dd1e05a705981e052158652ea23eb482
  • <f50487e3566358b2b982b7801945e858c78ad9ab
  • =<5.15.*
  • ==3.13
  • =<5.10.*
  • =<7.0.*
  • =<*
  • =<6.1.*
  • =<6.6.*
  • =<6.12.*
  • =<6.18.*
  • <3.13
  • <6448a49344e87487b61bd88cb850cd694a0f576d
Dismissed
(max. allowed matches exceeded)
created 2 months, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
wifi: mt76: mt7996: fix use-after-free bugs in mt7996_mac_dump_work()

In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7996: fix use-after-free bugs in mt7996_mac_dump_work() When the mt7996 pci chip is detaching, the mt7996_crash_data is released in mt7996_coredump_unregister(). However, the work item dump_work may still be running or pending, leading to UAF bugs when the already freed crash_data is dereferenced again in mt7996_mac_dump_work(). The race condition can occur as follows: CPU 0 (removal path) | CPU 1 (workqueue) mt7996_pci_remove() | mt7996_sys_recovery_set() mt7996_unregister_device() | mt7996_reset() mt7996_coredump_unregister() | queue_work() vfree(dev->coredump.crash_data) | mt7996_mac_dump_work() | crash_data-> // UAF Fix this by ensuring dump_work is properly canceled before the crash_data is deallocated. Add cancel_work_sync() in mt7996_unregister_device() to synchronize with any pending or executing dump work.

Affected products

Linux
  • <6.4
  • <c8f62f73bbced3a79894655bdb0b625462d956fc
  • ==6.4
  • <aa4a31cd89f4fde5043ac613fe0e27014a60a60b
  • <180182a3f23ff79430a32ca2c4c1885368ceab48
  • <188e10f9ea3109d23c6b7643aa6ec2f5cb0faa6d
  • =<6.12.*
  • =<6.18.*
  • =<7.0.*
  • =<*