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 3 weeks, 5 days 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
  • =<6.18.*
  • <66d9fab4565eafe1afe7ba0581f79b76073b60fa
  • =<6.12.*
  • =<7.0.*
  • <5.15
  • =<*
  • <527057ebe8076dfbcaef51195ff1b7508646be2c
  • <3cef33b9813b78f227942572fb317afcd5c9ac94
  • =<6.6.*
  • ==5.15
  • <4d328dd695383224aa750ddee6b4ad40c0f8d205
  • =<6.1.*
  • <bd3592129f24243713673a07225cf1f15a9bb835
  • <87828b380956d4986f59f2c086e0b09b3e6cdaae
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 5 days 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
  • ==2.6.27
  • =<6.1.*
  • <131ea3e57fc22936ed0e2c8330f2e36106172f51
  • =<6.18.*
  • =<5.15.*
  • =<6.12.*
  • <817f16ed62bc58a168417bfb5e859c2a370bab03
  • <79f84af38c9fef9deb0e02c79eb969b5541c2644
  • =<7.0.*
  • <754ff1bea3819a90c6f33cccfc1a299ef7609f07
  • <5822a05a841a10794ad818620dd2af490b0705d3
  • =<*
  • <6561afc38398e3518a29c5eebb975c30468f98a6
  • <0621c385fda1376e967f37ccd534c26c3e511d14
  • <2.6.27
  • =<5.10.*
  • <fbc72f5c645155dc2ed3573243ed20f9913e3a54
  • =<6.6.*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 5 days 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
  • =<5.15.*
  • =<6.18.*
  • <aad70db50ea3d7dfe30e402b889ff075a293b287
  • =<6.12.*
  • <31dcb9711abd1dcd2080d9fac05c79dd9997d6bf
  • =<7.0.*
  • <f8ce8b8331a1bc44ad4905886a482214d428b253
  • <4.6
  • <70c9f6ab0d8f785087fb74fb85464a9a5288bfdb
  • <d7391a2b854a62235539c68e9cbf6fc7910a8e9a
  • =<*
  • <040fe8eb34624002071dd21de9824dfe668ce65d
  • <1be1e99cbd5b74a69d3f92200ca87cf1bce852db
  • =<6.1.*
  • =<5.10.*
  • ==4.6
  • =<6.6.*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 5 days 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
  • =<6.1.*
  • <c08ff52e44945e6ef4ce0790f49ea761b060c45b
  • =<5.15.*
  • <a8e0a32a23d3f34862af3b4da792ecb3a891a9a3
  • =<6.18.*
  • <2f793ba78470a99f40389b7dc60a81d9f5ad3956
  • <8e3be0d12615a173fe260cd42753ca7a001acbf2
  • =<6.12.*
  • <ab64e61c9323fa6de21bd20da1ddb29a0fb65d34
  • <6e7066bdb481a87fe88c4fa563e348c03b2d373d
  • ==2.6.20
  • <2.6.20
  • =<7.0.*
  • =<*
  • <6bbf829b4c1b44c941c47dd0d710f1393258f3d5
  • <1c9fb8aeed06790d42cdcd00f6c3ce0b9e926c1e
  • =<5.10.*
  • =<6.6.*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 5 days 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
  • <6.6
  • <1e659db468476733d217c1314c1e0d9244356d6c
  • <a6dea58d8625c06b9654c0555f101742481335c3
  • =<6.18.*
  • =<7.0.*
  • <88397fad7914ee74a7880fa5ce01f9eb6bfe0743
  • ==6.6
  • =<*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 5 days 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
  • <94a3d72cd9b21116d7c6d5bdc57c11401fc28557
  • =<5.15.*
  • =<6.18.*
  • <ede47988ac5687793745b17c1634a496a2299919
  • <1595628a2f877d052eda18865ccf539392c47c04
  • <3.13
  • <f50487e3566358b2b982b7801945e858c78ad9ab
  • =<7.0.*
  • =<6.12.*
  • =<*
  • <94db72e9dac202e017ee3db22c59d17e4f3bf171
  • ==3.13
  • =<6.6.*
  • <c02aa6c0c9d1bea9bb75dea362b75ad225137bae
  • =<6.1.*
  • =<5.10.*
  • <6448a49344e87487b61bd88cb850cd694a0f576d
  • <13493b00dd1e05a705981e052158652ea23eb482
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 5 days 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
  • <c8f62f73bbced3a79894655bdb0b625462d956fc
  • <aa4a31cd89f4fde5043ac613fe0e27014a60a60b
  • =<6.18.*
  • <188e10f9ea3109d23c6b7643aa6ec2f5cb0faa6d
  • =<7.0.*
  • <180182a3f23ff79430a32ca2c4c1885368ceab48
  • =<*
  • ==6.4
  • =<6.12.*
  • <6.4
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 5 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
net: skbuff: fix missing zerocopy reference in pskb_carve helpers

In the Linux kernel, the following vulnerability has been resolved: net: skbuff: fix missing zerocopy reference in pskb_carve helpers pskb_carve_inside_header() and pskb_carve_inside_nonlinear() both copy the old skb_shared_info header into a new buffer via memcpy(), which includes the destructor_arg pointer (uarg) for MSG_ZEROCOPY skbs. Neither function calls net_zcopy_get() for the new shinfo, creating an unaccounted holder: every skb_shared_info with destructor_arg set will call skb_zcopy_clear() once when freed, but the corresponding net_zcopy_get() was never called for the new copy. Repeated calls drive uarg->refcnt to zero prematurely, freeing ubuf_info_msgzc while TX skbs still hold live destructor_arg pointers. KASAN reports use-after-free on a freed ubuf_info_msgzc: BUG: KASAN: slab-use-after-free in skb_release_data+0x77b/0x810 Read of size 8 at addr ffff88801574d3e8 by task poc/220 Call Trace: skb_release_data+0x77b/0x810 kfree_skb_list_reason+0x13e/0x610 skb_release_data+0x4cd/0x810 sk_skb_reason_drop+0xf3/0x340 skb_queue_purge_reason+0x282/0x440 rds_tcp_inc_free+0x1e/0x30 rds_recvmsg+0x354/0x1780 __sys_recvmsg+0xdf/0x180 Allocated by task 219: msg_zerocopy_realloc+0x157/0x7b0 tcp_sendmsg_locked+0x2892/0x3ba0 Freed by task 219: ip_recv_error+0x74a/0xb10 tcp_recvmsg+0x475/0x530 The skb consuming the late access still referenced the same uarg via shinfo->destructor_arg copied by pskb_carve_inside_nonlinear() without a refcount bump. This has been verified to be reliably exploitable: a working proof-of-concept achieves full root privilege escalation from an unprivileged local user on a default kernel configuration. The fix follows the pattern of pskb_expand_head() which has the same memcpy/cloned structure. For pskb_carve_inside_header(), net_zcopy_get() is placed after skb_orphan_frags() succeeds, so the orphan error path needs no cleanup. For pskb_carve_inside_nonlinear(), net_zcopy_get() is placed after all failure points and just before skb_release_data(), so no error path needs cleanup at all -- matching pskb_expand_head() more closely and avoiding the need for a balancing net_zcopy_put().

Affected products

Linux
  • <ceafb893b12f23331dcc5ff9587e643c3a40ee9f
  • <96a4713ae041cc85e712bac682cd2e644004d6c6
  • =<6.1.*
  • =<5.15.*
  • =<6.18.*
  • <2e0e74c59b2761a414d9f48d7bee1e45220b2427
  • <98d0912e9f841e5529a5b89a972805f34cb1c69d
  • <8dbed691e43a50903658130bde0fcb5abc425b37
  • =<7.0.*
  • <fd470f0a97b8e9a125f520265d2f3b088ffb5b8a
  • <4.7
  • =<*
  • <474d6c771d798bca84f0a140b611e36743511e18
  • <9b40bdc2a3298225dffab8158208a0d8c6300578
  • =<6.12.*
  • =<5.10.*
  • ==4.7
  • =<6.6.*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 5 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
fs/ntfs3: terminate the cached volume label after UTF-8 conversion

In the Linux kernel, the following vulnerability has been resolved: fs/ntfs3: terminate the cached volume label after UTF-8 conversion ntfs_fill_super() loads the on-disk volume label with utf16s_to_utf8s() and stores the result in sbi->volume.label. The converted label is later exposed through ntfs3_label_show() using %s, but utf16s_to_utf8s() only returns the number of bytes written and does not add a trailing NUL. If the converted label fills the entire fixed buffer, ntfs3_label_show() can read past the end of sbi->volume.label while looking for a terminator. Terminate the cached label explicitly after a successful conversion and clamp the exact-full case to the last byte of the buffer.

Affected products

Linux
  • =<6.6.*
  • =<5.15.*
  • =<6.18.*
  • <0b11fcbe80a59acdf58337d80ebb5f72201d73d6
  • =<6.12.*
  • =<7.0.*
  • <a6cd43fe9b083fa23fe1595666d5738856cb261a
  • <bc7a0c34c4ca259cfddf3bc18fc5b3c6411d26ed
  • <5.15
  • <6136bbb054f7ab9f51ae99915541633b18bcef90
  • =<*
  • <5cd0707b81cb4589f00aec5c4c1288bd0980d2a4
  • <32b0686369e0afbb3549a0d93e2d8517da84cd30
  • =<6.1.*
  • ==5.15
  • <54d564b762389679e2f8fb9eeb20af7e82371e1c
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 5 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
bpf: Fix NULL deref in map_kptr_match_type for scalar regs

In the Linux kernel, the following vulnerability has been resolved: bpf: Fix NULL deref in map_kptr_match_type for scalar regs Commit ab6c637ad027 ("bpf: Fix a bpf_kptr_xchg() issue with local kptr") refactored map_kptr_match_type() to branch on btf_is_kernel() before checking base_type(). A scalar register stored into a kptr slot has no btf, so the btf_is_kernel(reg->btf) call dereferences NULL. Move the base_type() != PTR_TO_BTF_ID guard before any reg->btf access.

Affected products

Linux
  • <6.6
  • <520454e839710c327808c2fcc98e28cee77355fc
  • =<6.18.*
  • ==4782968e0d631b0d8944dcfd4bf8fb49be087101
  • =<6.12.*
  • ==af3d2e0f3a54e67806959d161e613457772babc5
  • =<7.0.*
  • <6982653ce5f119982aa58f1af58e7bfbebf39252
  • <4d0a375887ab4d49e4da1ff10f9606cab8f7c3ad
  • ==6.6
  • =<*
  • <da1d615ce49a47986a8864e2371a26e97861085c
  • <0a36c1f72888bca0237295a4da19cd91821a90be
  • =<6.6.*
  • <6.5
  • <6.6