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
vsock/virtio: fix MSG_ZEROCOPY pinned-pages accounting

In the Linux kernel, the following vulnerability has been resolved: vsock/virtio: fix MSG_ZEROCOPY pinned-pages accounting virtio_transport_init_zcopy_skb() uses iter->count as the size argument for msg_zerocopy_realloc(), which in turn passes it to mm_account_pinned_pages() for RLIMIT_MEMLOCK accounting. However, this function is called after virtio_transport_fill_skb() has already consumed the iterator via __zerocopy_sg_from_iter(), so on the last skb, iter->count will be 0, skipping the RLIMIT_MEMLOCK enforcement. Pass pkt_len (the total bytes being sent) as an explicit parameter to virtio_transport_init_zcopy_skb() instead of reading the already-consumed iter->count. This matches TCP and UDP, which both call msg_zerocopy_realloc() with the original message size.

Affected products

Linux
  • <6af1736b5810bc8a4a43a8518530113f5a757dc1
  • <6.7
  • =<6.18.*
  • =<7.0.*
  • <d0117950075f0a9d5944980784c719d8ebcd4bff
  • ==6.7
  • =<*
  • <1cb36e252211506f51095fe7ced8286cc77b4c80
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 5 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
netfilter: ip6t_hbh: reject oversized option lists

In the Linux kernel, the following vulnerability has been resolved: netfilter: ip6t_hbh: reject oversized option lists struct ip6t_opts stores at most IP6T_OPTS_OPTSNR option descriptors, but hbh_mt6_check() does not reject larger optsnr values supplied from userspace. Validate optsnr in the rule setup path so only match data that fits the fixed-size opts array can be installed. This follows the existing xtables pattern of rejecting invalid user-provided counts in checkentry() and keeps the packet matching path unchanged. `struct ip6t_opts` has a fixed `opts[IP6T_OPTS_OPTSNR]` array, where `IP6T_OPTS_OPTSNR` is 16, then off-by-one array access is possible: [ 137.924693][ T8692] UBSAN: array-index-out-of-bounds in ../net/ipv6/netfilter/ip6t_hbh.c:110:29 [ 137.926167][ T8692] index 16 is out of range for type '__u16 [16]'

Affected products

Linux
  • <4322dcde6b4173c2d8e8e6118ed290794263bcc8
  • =<5.15.*
  • =<6.18.*
  • =<6.12.*
  • <db0250470f023f159094052c0bd5ab026a88ae93
  • <57b0ac5e1b46f1f0338dff392ef2092e2871b412
  • <41ec2e242f1702e8370ddfe14d22b7a766021c3e
  • =<7.0.*
  • <588933f1a2ca5ff99274f8c9f25dc3a25d0191c3
  • <2.6.12
  • =<*
  • ==2.6.12
  • =<6.6.*
  • <2d523ba48d4ecc46acfb6aba548292cfcce1ac02
  • =<6.1.*
  • =<5.10.*
  • <6feb43c0995ab3a9c826707eb46541a1696fe4f7
  • <784aadea7a108c9f90985683caa87fb0198c6a39
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 5 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
netfilter: xtables: restrict several matches to inet family

In the Linux kernel, the following vulnerability has been resolved: netfilter: xtables: restrict several matches to inet family This is a partial revert of: commit ab4f21e6fb1c ("netfilter: xtables: use NFPROTO_UNSPEC in more extensions") to allow ipv4 and ipv6 only. - xt_mac - xt_owner - xt_physdev These extensions are not used by ebtables in userspace. Moreover, xt_realm is only for ipv4, since dst->tclassid is ipv4 specific.

Affected products

Linux
  • <b6fe26f86a1649f84e057f3f15605b08eda15497
  • <9a109751b297b0f2135495749ef5a18ba31ec7d4
  • =<5.15.*
  • =<6.18.*
  • ==2.6.28
  • =<6.1.*
  • <76160e04440c9698b989dbd9492a7ec4f520c9ee
  • =<6.12.*
  • =<7.0.*
  • <fa88161ef56e29bdaa05cc89dbc4ee221e94bfe9
  • <cbeb259f31382de70a70a59ffd0e66f5e80d9818
  • <2.6.28
  • <14203f9edf944b3fb63faadd62f38452421ecdfc
  • =<*
  • =<5.10.*
  • <689a91ff18d6448d94c1ab7c076fecdb2b668bef
  • <7eaf9c740f33230cb224dc265f3c69f8531ff57b
  • =<6.6.*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 5 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
KVM: Reject wrapped offset in kvm_reset_dirty_gfn()

In the Linux kernel, the following vulnerability has been resolved: KVM: Reject wrapped offset in kvm_reset_dirty_gfn() kvm_reset_dirty_gfn() guards the gfn range with if (!memslot || (offset + __fls(mask)) >= memslot->npages) return; but offset is u64 and the addition is unchecked. The check can be silently bypassed by a u64 wrap. The dirty ring backing those entries is MAP_SHARED at KVM_DIRTY_LOG_PAGE_OFFSET of the vcpu fd, so the VMM can rewrite the slot and offset fields of any entry between when the kernel pushes them and when KVM_RESET_DIRTY_RINGS consumes them. On reset, kvm_dirty_ring_reset() re-reads the values via READ_ONCE() and feeds them straight back into this check; only the flags handshake is treated as the handover, the slot/offset payload is taken on trust. Crafting two entries entry[i].offset = 0xffffffffffffffc1 entry[i+1].offset = 0 makes the coalescing loop in kvm_dirty_ring_reset() compute delta = (s64)(0 - 0xffffffffffffffc1) = 63 which falls in [0, BITS_PER_LONG), so it folds entry[i+1] into the existing mask by setting bit 63. The trailing kvm_reset_dirty_gfn() call then sees offset = 0xffffffffffffffc1 and __fls(mask) = 63; the sum is 0 in u64 and the bounds check passes. That offset propagates into kvm_arch_mmu_enable_log_dirty_pt_masked() unchanged. On the legacy MMU path -- kvm_memslots_have_rmaps() == true, i.e. shadow paging, any VM that has allocated shadow roots, or a write-tracked slot -- it reaches gfn_to_rmap(), which indexes slot->arch.rmap[0][] with a near-U64_MAX gfn. That is an out-of-bounds load of a kvm_rmap_head, followed by a conditional clear of PT_WRITABLE_MASK in whatever the loaded pointer points at. The path is reachable from any process holding /dev/kvm. Range-check offset on its own first, so the addition cannot wrap. memslot->npages is bounded well below U64_MAX, so once offset < npages holds, offset + __fls(mask) (with __fls(mask) < BITS_PER_LONG) stays in range.

Affected products

Linux
  • ==5.11
  • =<5.15.*
  • =<6.18.*
  • <01b71b930f15728aa8599478a7ce90c19dcd9fc2
  • <b315b033a877b1ee6d827810b5d7bb4392ffcf8d
  • <577a8d3bae0531f0e5ccfac919cd8192f920a804
  • =<6.12.*
  • <0eb281eb95b2d4eea4db1da5fe91023aecc97095
  • =<7.0.*
  • <ecf9b3ea7847fe14f34b8c41f00de1eb95c747da
  • <5.11
  • =<*
  • <0d419c23bb11b5c9664de777c47c1f04a235882d
  • =<6.1.*
  • <74f1a22f7a80f03d28ad8551a2d25d563433addf
  • =<6.6.*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 5 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
wifi: mt76: mt7925: fix potential deadlock in mt7925_roc_abort_sync

In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7925: fix potential deadlock in mt7925_roc_abort_sync roc_abort_sync() can deadlock with roc_work(). roc_work() holds dev->mt76.mutex, while cancel_work_sync() waits for roc_work() to finish. If the caller already owns the same mutex, both sides block and no progress is possible. This deadlock can occur during station removal when mt76_sta_state() -> mt76_sta_remove() -> mt7925_mac_sta_remove_link() -> mt7925_mac_link_sta_remove() -> mt7925_roc_abort_sync() invokes cancel_work_sync() while roc_work() is still running and holding dev->mt76.mutex. This avoids the mutex deadlock and preserves exactly-once work ownership.

Affected products

Linux
  • =<6.18.*
  • <153bcba36c87a1ba555b57b6c49028d5812f895b
  • <2d8e0053bca29143ace51e08c980ff076844a4b0
  • =<7.0.*
  • ==6.12
  • =<*
  • ==978d1756b3ae1b857826eb7ed8181f3c5180dce9
  • <dd08ca3f092f4185ece69ce2a835c23198b1628a
  • <6.12
  • <6.12
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 5 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
md: wake raid456 reshape waiters before suspend

In the Linux kernel, the following vulnerability has been resolved: md: wake raid456 reshape waiters before suspend During raid456 reshape, direct IO across the reshape position can sleep in raid5_make_request() waiting for reshape progress while still holding an active_io reference. If userspace then freezes reshape and writes md/suspend_lo or md/suspend_hi, mddev_suspend() kills active_io and waits for all in-flight IO to drain. This can deadlock: the IO needs reshape progress to continue, but the reshape thread is already frozen, so the active_io reference is never dropped and suspend never completes. raid5_prepare_suspend() already wakes wait_for_reshape for dm-raid. Do the same for normal md suspend when reshape is already interrupted, so waiting raid456 IO can abort, drop its reference, and let suspend finish. The mdadm test tests/25raid456-reshape-deadlock reproduces the hang.

Affected products

Linux
  • <6.7
  • =<6.18.*
  • <ff6b93410192b812d73cc54062529715b2dc849f
  • <8b6a72420821e6da2cab6a69d5233500d2698b93
  • =<7.0.*
  • ==6.7
  • =<*
  • =<6.12.*
  • <8ae3e14d7f3df58f7f49c02d74344e3dcd5f84f0
  • <cf86bb53b9c92354904a328e947a05ffbfdd1840
Dismissed
(max. allowed matches exceeded)
Permalink CVE-2026-54297
7.5 HIGH
  • CVSS version (CVSS): 3.1
  • Attack Vector (AV): Network (N)
  • Attack Complexity (AC): Low (L)
  • Privileges Required (PR): None (N)
  • User Interaction (UI): None (N)
  • Scope (S): Unchanged (U)
  • Confidentiality (C): None (N)
  • Integrity (I): None (N)
  • Availability (A): High (H)
  • Modified Attack Vector (MAV): Network (N)
  • Modified Attack Complexity (MAC): Low (L)
  • Modified Privileges Required (MPR): None (N)
  • Modified User Interaction (MUI): None (N)
  • Modified Confidentiality (MC): None (N)
  • Modified Scope (MS): Unchanged (U)
  • Modified Integrity (MI): None (N)
  • Modified Availability (MA): High (H)
created 3 weeks, 5 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
Faraday: Uncontrolled recursion in NestedParamsEncoder allows stack exhaustion DoS via deeply nested query parameters

Faraday is an HTTP client library abstraction layer that provides a common interface over many adapters. From 1.0.0 until 1.10.6 and 2.14.3, Faraday::NestedParamsEncoder, the default nested query parameter encoder/decoder in Faraday, decodes nested query strings without enforcing a maximum nesting depth. A crafted query string causes Faraday to build a deeply nested Ruby Hash structure. The internal dehash routine then recursively walks this attacker-controlled structure without a depth limit. At sufficient depth, Ruby raises an uncaught SystemStackError (stack level too deep), crashing the calling thread or worker. This can lead to denial of service in applications that pass attacker-controlled query strings to Faraday's nested query parsing or URL-building paths. This vulnerability is fixed in 1.10.6 and 2.14.3.

Affected products

faraday
  • ==>= 1.0.0, < 1.10.6
  • ==>= 2.0.0.alpha.pre.1, < 2.14.3
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 5 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
net/sched: act_mirred: fix wrong device for mac_header_xmit check in tcf_blockcast_redir

In the Linux kernel, the following vulnerability has been resolved: net/sched: act_mirred: fix wrong device for mac_header_xmit check in tcf_blockcast_redir In tcf_blockcast_redir(), when iterating block ports to redirect packets to multiple devices, the mac_header_xmit flag is queried from the wrong device. The loop sends to dev_prev but queries dev_is_mac_header_xmit(dev) — which is the NEXT device in the iteration, not the one being sent to. This causes tcf_mirred_to_dev() to make incorrect decisions about whether to push or pull the MAC header. When the block contains mixed device types (e.g., an ethernet veth and a tunnel device), intermediate devices get the wrong mac_header_xmit flag, leading to skb header corruption. In the worst case, skb_push_rcsum with an incorrect mac_len can exhaust headroom and panic. The last device in the loop is handled correctly (line 365-366 uses dev_is_mac_header_xmit(dev_prev)), confirming this is a copy-paste oversight for the intermediate devices. Fix by using dev_prev instead of dev for the mac_header_xmit query, consistent with the device actually being sent to.

Affected products

Linux
  • =<6.18.*
  • ==6.8
  • =<7.0.*
  • <7db3e4e03032261b1b519341123fc30d995478ca
  • =<*
  • <8fda5174286119addd28473fb2ec5bdf521c05a8
  • <4510d140524ca7d6e772db962e013f26f09a63b1
  • <6.8
  • =<6.12.*
  • <4764953c4b47585eb72797b216b63a831dc0c7e6
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 5 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
drbd: Balance RCU calls in drbd_adm_dump_devices()

In the Linux kernel, the following vulnerability has been resolved: drbd: Balance RCU calls in drbd_adm_dump_devices() Make drbd_adm_dump_devices() call rcu_read_lock() before rcu_read_unlock() is called. This has been detected by the Clang thread-safety analyzer.

Affected products

Linux
  • <282e06e6d494a7bee85af78c747527b7d4009cc3
  • <6cd27bcb71bb73f955d104cc3a62be6f83724392
  • <ae12bb44b392637a8321ade305c883f9ffc0daea
  • =<5.15.*
  • =<6.18.*
  • =<6.12.*
  • =<7.0.*
  • <996d279f2c985d771d6cfdd923e447d825726e06
  • <2b31e86387e60b3689339f0f0fbb4d3623d9d494
  • <4.5
  • <68ebb9183ac3621b96b18e046841eadb9508783c
  • =<*
  • ==4.5
  • <8092713a10c19fa0f731b71b2853af4319ca54fd
  • =<6.1.*
  • =<5.10.*
  • <1f112240531f0a0b437b2e001c1d89e8b25a8328
  • =<6.6.*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 5 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
ASoC: sti: use managed regmap_field allocations

In the Linux kernel, the following vulnerability has been resolved: ASoC: sti: use managed regmap_field allocations The regmap_field objects allocated at player init are never freed and may leak resources if the driver is removed. Switch to devm_regmap_field_alloc() to automatically limit the lifetime of the allocations the lifetime of the device.

Affected products

Linux
  • <a3f3c332882c98ae7553af372191116d1384ca52
  • <9641071e3a8e0bc664477a0e54db5f9815f0fb79
  • =<5.15.*
  • =<6.18.*
  • <1696fad8b259a2d46e51cd6e17e4bcdbe02279fa
  • <43b67761d486d719128e164536e58de5a81dff9b
  • =<6.12.*
  • =<7.0.*
  • <c3af3bcfc1deb3b230cc266a2ac75bca8f4dfba9
  • ==4.3
  • <7422a11a753daacbc2409513cf65e1de0d17c291
  • =<*
  • <4b8dba4527727623a97948aff9f0969a14c203a9
  • <002a5f925d42eca8ad547e55a4ae22714cfe9dec
  • =<6.1.*
  • =<5.10.*
  • <4.3
  • =<6.6.*