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 ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
staging: rtl8723bs: rtw_mlme: add bounds checks before ie_length subtraction

In the Linux kernel, the following vulnerability has been resolved: staging: rtl8723bs: rtw_mlme: add bounds checks before ie_length subtraction Add guards to ensure ie_length is large enough before subtracting fixed IE offsets to prevent unsigned integer underflow.

Affected products

Linux
  • <88e994c57a79f62d5338231d8d37ee8dd98baffe
  • =<*
  • <5.15
  • ==5.15
  • =<7.0.*
  • <542d65a6dbd9733baab96313c9fe76a76e93f484
Dismissed
(max. allowed matches exceeded)
created 2 months ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
misc: fastrpc: fix use-after-free race in fastrpc_map_create

In the Linux kernel, the following vulnerability has been resolved: misc: fastrpc: fix use-after-free race in fastrpc_map_create fastrpc_map_lookup returns a raw pointer after releasing fl->lock. The caller fastrpc_map_create then calls fastrpc_map_get (kref_get_unless_zero) on this unprotected pointer. A concurrent MEM_UNMAP can free the map between the lock release and the kref operation, resulting in a use-after-free on the freed slab object. Restore the take_ref parameter to fastrpc_map_lookup so the reference is acquired atomically under fl->lock before the pointer is exposed to the caller.

Affected products

Linux
  • ==f3f59bab68e9bc714f757ab22f3fb36153014043
  • =<*
  • <6.18
  • =<6.12.*
  • ==6.18
  • <6.18
  • =<6.1.*
  • <8b080c89183196fd3e49212f2a1a1c4a29335b9c
  • <0a3b87293fbd34fda651e6aead9964f84b893962
  • <992f121796b7ca83a5a8b93da24e971363206218
  • =<6.6.*
  • <6.6.143
  • <07ebe87915d8accdaba20c4f88c5ae430fe62fbb
  • <6.1.176
  • <5b0166112019d1dce30b976ab28fd67f7f0be532
  • <6.12.94
  • =<6.18.*
  • =<7.0.*
  • <f20f6512ecb75c816e0debf4551a138f098615c4
Dismissed
(max. allowed matches exceeded)
created 2 months ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
futex/requeue: Prevent NULL pointer dereference in remove_waiter() on self-deadlock

In the Linux kernel, the following vulnerability has been resolved: futex/requeue: Prevent NULL pointer dereference in remove_waiter() on self-deadlock When FUTEX_CMP_REQUEUE_PI requeues a non-top waiter that already owns the target PI futex, task_blocks_on_rt_mutex() returns -EDEADLK before setting waiter->task. The subsequent remove_waiter() in rt_mutex_start_proxy_lock() dereferences the NULL waiter->task, causing a kernel crash. Add a self-deadlock check for non-top waiters before calling rt_mutex_start_proxy_lock(), analogous to the top-waiter check in futex_lock_pi_atomic().

Affected products

Linux
  • <6.7
  • <74e144274af39935b0f410c0ee4d2b91c3730414
  • <7.0.13
  • ==6d52dfcb2a5db86e346cf51f8fcf2071b8085166
  • ==8a1fc8d698ac5e5916e3082a0f74450d71f9611f
  • <6.2
  • ==d8cce4773c2b23d819baf5abedc62f7b430e8745
  • <1f2f3f3eacd6653ab215c5d2ea70811148d433fc
  • <16f8e17184b31382076f84751db5ac51fc02733e
  • <6.18.36
  • <6.13
Dismissed
(max. allowed matches exceeded)
Permalink CVE-2026-57451
5.3 MEDIUM
  • CVSS version (CVSS): 3.1
  • Attack Vector (AV): Local (L)
  • Attack Complexity (AC): High (H)
  • Privileges Required (PR): None (N)
  • User Interaction (UI): Required (R)
  • Scope (S): Unchanged (U)
  • Confidentiality (C): Low (L)
  • Integrity (I): None (N)
  • Availability (A): High (H)
  • Modified Attack Vector (MAV): Local (L)
  • Modified Attack Complexity (MAC): High (H)
  • Modified Privileges Required (MPR): None (N)
  • Modified User Interaction (MUI): Required (R)
  • Modified Confidentiality (MC): Low (L)
  • Modified Scope (MS): Unchanged (U)
  • Modified Integrity (MI): None (N)
  • Modified Availability (MA): High (H)
created 2 months ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
Vim: Out-of-bounds Read in Text Property Count

Vim is an open source, command line text editor. Prior to 9.2.0670, get_text_props() in src/textprop.c reads a uint16 property count stored inline after a line's text and returns it as the number of 32-byte textprop_T entries that follow. The only check is a floor that guarantees room for a single entry; the count is never checked against the amount of data actually present. A line that declares a large count while carrying little data causes consumers to read far past the end of the line buffer. Such a line can be delivered through a crafted undo file, leading to a crash. This vulnerability is fixed in 9.2.0670.

Affected products

vim
  • ==< 9.2.0670
Dismissed
(max. allowed matches exceeded)
created 2 months ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
RDMA/umem: Fix truncation for block sizes >= 4G

In the Linux kernel, the following vulnerability has been resolved: RDMA/umem: Fix truncation for block sizes >= 4G When the iommu is used the linearization of the mapping can give a single block that is very large split across multiple SG entries. When __rdma_block_iter_next() reassembles the split SG entries it is overflowing the 32 bit stack values and computed the wrong DMA addresses for blocks after the truncation. Use the right types to hold DMA addresses.

Affected products

Linux
  • <baf8685bcf56dc1efb44b8f6a57c42516e549068
  • <5.2
  • =<6.1.*
  • <cc644d5608e3b0dadc970bd6e6aa26b91ea07d0f
  • =<*
  • <dee2a49adeeb2a5e16a3fc858fa21b841c519802
  • =<5.15.*
  • =<5.10.*
  • <ac1aad8e1281534ce936c250f68084fc79c5469e
  • =<6.18.*
  • =<6.6.*
  • =<6.12.*
  • <2ff4b7817e5b78070c30f5fb5e678e452a2628b3
  • ==5.2
  • =<7.0.*
  • <15fe76e23615f502d051ef0768f86babaf08746c
  • <8fe0231adebe086c8a459c790944ac026cd99c6e
  • <afd35fec9297195b759078745549c2671223f24f
Dismissed
(max. allowed matches exceeded)
created 2 months ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
netfilter: nft_ct: bail out on template ct in get eval

In the Linux kernel, the following vulnerability has been resolved: netfilter: nft_ct: bail out on template ct in get eval I noticed this issue while looking at a historic syzbot report [1]. A rule like the one below is enough to trigger the bug: table ip t { chain pre { type filter hook prerouting priority raw; ct zone set 1 ct original saddr 1.2.3.4 accept } } The first expression attaches a per-cpu template ct via nft_ct_set_zone_eval() (nf_ct_tmpl_alloc -> kzalloc, tuple is all zero, nf_ct_l3num(ct) == 0). The next expression then calls nft_ct_get_eval() on the same skb, treats the template as a real ct and hits the 16-byte memcpy path. With dreg at NFT_REG32_15 this overflows past struct nft_regs on the kernel stack; with smaller dreg values it silently clobbers adjacent registers. Reject template ct at the eval entry and in nft_ct_get_fast_eval(), mirroring the check nft_ct_set_eval() already has. Additionally, bound the address copy in NFT_CT_SRC / NFT_CT_DST by priv->len instead of by nf_ct_l3num(ct): nf_ct_get_tuple() zeroes the tuple before pkt_to_tuple() fills in only the protocol-relevant leading bytes, so the trailing bytes of tuple->{src,dst}.u3.all are well-defined zero. priv->len is validated at rule load, so the copy size is now bounded by the destination register rather than by an untrusted field on the conntrack. [1]: https://syzkaller.appspot.com/bug?id=389cf09cb72926114fce90dc85a2c3231dcb647c

Affected products

Linux
  • <f071b0bf078146368d18e4eec386bf2ddc0ab7e0
  • =<*
  • <3027ecbdb5fdf9200251c21d4818e4c447ef78e1
  • <4.1
  • <af80f78ce984649e1698b841cd33f4fa505ad828
  • <8470f676eadeab99132708acb1a85915664d6115
  • =<6.18.*
  • <2e154b5f53f1b0b490c7b8b02499f90feb86b1d5
  • =<6.6.*
  • =<6.12.*
  • =<7.0.*
  • ==4.1
Dismissed
(max. allowed matches exceeded)
created 2 months ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
ptp: ocp: fix resource freeing order

In the Linux kernel, the following vulnerability has been resolved: ptp: ocp: fix resource freeing order Commit a60fc3294a37 ("ptp: rework ptp_clock_unregister() to disable events") added a call to ptp_disable_all_events() which changes the configuration of pins if they support EXTTS events. In ptp_ocp_detach() pins resources are freed before ptp_clock_unregister() and it leads to use-after-free during driver removal. Fix it by changing the order of free/unregister calls. To avoid irq handler running on the other core while ptp device unregistering, call synchronize_irq() after HW is configured to stop producing irqs and no irqs are in-flight.

Affected products

Linux
  • <aa03698bb28d3be5ee180adb185395054b342b04
  • =<*
  • <627366c51145a07f675b1800fb5ea2ec960bd900
  • <6.18
  • =<7.0.*
  • ==6.18
Dismissed
(max. allowed matches exceeded)
created 2 months ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
netfilter: bridge: make ebt_snat ARP rewrite writable

In the Linux kernel, the following vulnerability has been resolved: netfilter: bridge: make ebt_snat ARP rewrite writable The ebtables SNAT target keeps the Ethernet source address rewrite behind skb_ensure_writable(skb, 0). This is intentional: at the bridge ebtables hooks the Ethernet header is addressed through skb_mac_header()/eth_hdr(), while skb->data points at the Ethernet payload. Asking skb_ensure_writable() for ETH_HLEN bytes would check the payload, not the Ethernet header, and would reintroduce the small packet regression fixed by commit 63137bc5882a. However, the optional ARP sender hardware address rewrite is different. It writes through skb_store_bits() at an offset relative to skb->data: skb_store_bits(skb, sizeof(struct arphdr), info->mac, ETH_ALEN) skb_header_pointer() only safely reads the ARP header; it does not make the later sender hardware address range writable. If that range is still held in a nonlinear skb fragment backed by a splice-imported file page, skb_store_bits() maps the frag page and copies the new MAC address directly into it. Ensure the ARP SHA range is writable before reading the ARP header and before calling skb_store_bits().

Affected products

Linux
  • =<*
  • =<5.10.*
  • <5.5
  • =<6.12.*
  • ==5.10
  • <5.9
  • <b7e91939ba9be805a62a257fa4e227dffbb88fa0
  • <76280b78cc9f23bdc6438e10ad6dff148ef8375b
  • =<6.1.*
  • <153ea96c806aea395daba907a4f88480b6ad5093
  • <5.10
  • =<6.6.*
  • <afd64b59c3de9bbbdd3759e834fdc55cda716e0b
  • <b18675263db1147c8e1cab625400c13a0d87bd2d
  • <5.10
  • ==51ba2945a8ef65ae437c8f9ba05f0343aa82ae5b
  • <c9b5ff59feffb92a147a84a5aa28acd2cb8ff4c5
  • <67ba971ae02514d85818fe0c32549ab4bfa3bf49
  • =<5.15.*
  • =<6.18.*
  • ==b7d23c2c87584eb429f115c078ed511be8b18e29
  • =<7.0.*
  • <bf84ad7c7a9ede46e31afaa41a1ba06a159e8c87
  • ==2f3839075a5f8dcf116c1abe35b36b018ac62445
Dismissed
(max. allowed matches exceeded)
created 2 months ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
USB: serial: io_ti: fix heap overflow in build_i2c_fw_hdr()

In the Linux kernel, the following vulnerability has been resolved: USB: serial: io_ti: fix heap overflow in build_i2c_fw_hdr() build_i2c_fw_hdr() allocates a fixed-size buffer of (16*1024 - 512) + sizeof(struct ti_i2c_firmware_rec) bytes, then copies le16_to_cpu(img_header->Length) bytes into it without validating that Length fits within the available space after the firmware record header. img_header->Length is a __le16 from the firmware file and can be up to 65535. check_fw_sanity() validates the total firmware size but not img_header->Length specifically. Fix by rejecting images where img_header->Length exceeds the available destination space.

Affected products

Linux
  • <3e187152f44d76d7633a3855ffd0099e1588b82a
  • <b7faf660eefa2047ebc2959ff76da2b6eae2e9e3
  • <0fd2b00b2d3d05e3eaa13342b3dfb0fa85c226ae
  • <4cb722747ed25971f35cc47ce5c0e79d7f717713
  • =<6.1.*
  • =<*
  • =<5.15.*
  • =<5.10.*
  • =<6.18.*
  • <2fd64bf0ad66ab5de0c73524591d879427ba5aba
  • <2.6.12
  • <130d6567eb148040eed1b73e1414ad6c27d22bd5
  • =<6.6.*
  • <5a79b634ee58786ca627268daefa7744f2af2e14
  • =<6.12.*
  • =<7.0.*
  • <294692d3296eee3391c348d7ea6401916d27806c
  • ==2.6.12
Dismissed
(max. allowed matches exceeded)
created 2 months ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
rseq: Fix using an uninitialized stack variable in rseq_exit_user_update()

In the Linux kernel, the following vulnerability has been resolved: rseq: Fix using an uninitialized stack variable in rseq_exit_user_update() There is an bug in which an uninitialized stack variable is used in rseq_exit_user_update() as reported by syzbot: BUG: KMSAN: kernel-infoleak in rseq_set_ids_get_csaddr include/linux/rseq_entry.h:502 [inline] The local variable: struct rseq_ids ids = { .cpu_id = task_cpu(t), .mm_cid = task_mm_cid(t), .node_id = cpu_to_node(ids.cpu_id), }; According to the C standard, the evaluation order of expressions in an initializer list is indeterminately sequenced. The compiler (Clang, in this KMSAN build) evaluates `cpu_to_node(ids.cpu_id)` *before* `ids.cpu_id` is initialized with `task_cpu(t)`. This is fixed by moving the assignment of ids.node_id outside the structure initialization.

Affected products

Linux
  • <e12d20a63b61aaf9de4772effccf42cc9a003e58
  • <7.0.13
  • <6d99479799c69c3cb588fcda19c81d8f61d64ecd