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, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
RDMA/bnxt_re: Initialize dpi variable to zero

In the Linux kernel, the following vulnerability has been resolved: RDMA/bnxt_re: Initialize dpi variable to zero dpi is initialized only for BNXT_RE_ALLOC_WC_PAGE, but copied for all the cases. So initialize the dpi to 0.

Affected products

Linux
  • ==6.5
  • <b87cbd4d198ae377be4815d8102fa9dfefb91dcc
  • =<*
  • <978b27d6ce538bb832ccd69e45802824e4301c4b
  • =<6.18.*
  • <3d00b375853fbbf4157ad092884b4ed9a49429c1
  • =<7.1.*
  • <6.5
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
rxrpc: Fix double unlock in rxrpc_recvmsg()

In the Linux kernel, the following vulnerability has been resolved: rxrpc: Fix double unlock in rxrpc_recvmsg() Fix a double unlock in rxrpc_recvmsg() when dealing with OOB messages.

Affected products

Linux
  • ==6.16
  • <6.16
  • =<*
  • <a2f299b4d5510147fa8629a6aba2869bbcc88aea
  • <8cd8cf3052fff9a4b86b25734f610e4af03786d3
  • =<6.18.*
  • =<7.1.*
  • <1297ae6aeebc3863cb437e42a1bc4cd6173e43d9
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
fbdev: tdfxfb: fix potential memory leak in tdfxfb_probe()

In the Linux kernel, the following vulnerability has been resolved: fbdev: tdfxfb: fix potential memory leak in tdfxfb_probe() In tdfxfb_probe(), the memory allocated for modelist using fb_videomode_to_modelist() when CONFIG_FB_3DFX_I2C is defined, is not freed in the subsequent error paths. Fix that by calling fb_destroy_modelist().

Affected products

Linux
  • <b039e0693df003c5baa1e89630344f92a78afb15
  • =<5.10.*
  • <2fd16a94bea5e0c3e93791436cf8a800b175762a
  • ==2.6.30
  • <2199d70efc5bea0e9b4462a4f9e4c3d3c21c5d34
  • =<*
  • =<6.6.*
  • <2.6.30
  • <bb019d755366cc3e777a12d4bf457ff289837370
  • =<6.18.*
  • =<6.12.*
  • <dfbb1a695d8891774c80c0e2a9192afb66469eb7
  • <e1ca9b8559e0f5959228626bdeaae530a1ee0337
  • =<7.1.*
  • =<5.15.*
  • <b7b26adc2718ca8f81ca75cd03aee94269d00e8a
  • <237611edf15172e4dc7fa9b3b71c2445602d3459
  • =<6.1.*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
mlxsw: fix refcount leak in mlxsw_sp_vrs_lpm_tree_replace()

In the Linux kernel, the following vulnerability has been resolved: mlxsw: fix refcount leak in mlxsw_sp_vrs_lpm_tree_replace() When mlxsw_sp_vrs_lpm_tree_replace() fails after replacing some VRs, the error rollback loop does not correctly revert the preceding replacements. The loop decrements the index but fails to update the vr pointer, which still points to the VR that caused the failure. As a result, the condition and the rollback call always operate on the same VR, potentially calling mlxsw_sp_vr_lpm_tree_replace() multiple times on it while never rolling back the earlier VRs. Those VRs continue to hold a reference to new_tree acquired via mlxsw_sp_lpm_tree_hold(), leaking the reference count of new_tree. Fix by reinitializing vr inside the error loop with the updated index: vr = &mlxsw_sp->router->vrs[i]; so that the loop correctly iterates over all VRs that were actually replaced.

Affected products

Linux
  • =<5.10.*
  • <21cf8dc478a49e8de039c2739b1646a774cb1944
  • <3a2b47d1b4b3de54d030a7fdb6a322c970513ee3
  • <4.14
  • <220d41bdce41fe5a39a7f419faab1e907b4093c2
  • =<6.6.*
  • <7203ac71d3895fa5948b319dd724f0e1cffbc4a1
  • ==4.14
  • <f6454a5fbf2224ad30ec70e686a6c592561da1f2
  • =<*
  • =<6.18.*
  • <9e4a6185679922305ea1df68403f00ccc512656b
  • =<6.12.*
  • =<7.1.*
  • =<5.15.*
  • <c2c75c45b54f3b12eafb28a4eb47f8821512c1aa
  • <8adebf07b46df79a0e49a6d4ae384f0db7c91db6
  • =<6.1.*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
vxlan: use pskb_network_may_pull() for transmit path header pulls

In the Linux kernel, the following vulnerability has been resolved: vxlan: use pskb_network_may_pull() for transmit path header pulls In vxlan_xmit(), arp_reduce(), and vxlan_mdb_entry_skb_get(), pskb_may_pull() was being called to verify the availability of network layer headers (ARP, IPv6/ND, IP/IPv6 MDB keys). However, during transmit skb->data points to the MAC header, so skb_network_offset(skb) is ETH_HLEN (14 bytes). Using pskb_may_pull(skb, len) only checks len bytes from skb->data rather than skb_network_offset(skb) + len, which can leave part of the network header in non-linear frags. Replace these remaining pskb_may_pull() calls with pskb_network_may_pull() to properly account for the MAC header offset.

Affected products

Linux
  • <b9553558b48db54ac9273e6b98d7263ef5c1a329
  • <7076a34b6e33315dc160b4612bfea1c597495585
  • ==3.8
  • <94dee751aad627b3645d424b5d0c736d394573e9
  • =<*
  • =<6.18.*
  • =<7.1.*
  • <3.8
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
iio: adc: xilinx-ams: fix out-of-bounds channel lookup in event handling

In the Linux kernel, the following vulnerability has been resolved: iio: adc: xilinx-ams: fix out-of-bounds channel lookup in event handling ams_event_to_channel() may return a pointer past the end of dev->channels when no matching scan_index is found. This can lead to invalid memory access in ams_handle_event(). Add a bounds check in ams_event_to_channel() and return NULL when no channel is found. Also guard the caller to safely handle this case.

Affected products

Linux
  • <3c374d33f1338dbb5676919c5194caa9c5aa1631
  • <5.17
  • =<6.6.*
  • =<*
  • ==5.17
  • <947eb6f0a274f8b15a0248051a65b069effd5057
  • <116d1f8805ae2daadbac89d24da4c0da50b9edae
  • <94d158985b6ea011bdc26186f42d662a156da6cb
  • <9ac3675bf875792dced45efbf47116719a7c097b
  • =<6.12.*
  • =<6.18.*
  • =<7.1.*
  • <1d24f14e049fdd769146dda026496ed23b397ed9
  • =<6.1.*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
VDUSE: avoid leaking information to userspace

In the Linux kernel, the following vulnerability has been resolved: VDUSE: avoid leaking information to userspace The bounceing is not necessarily page aligned, so current VDUSE can leak kernel information through mapping bounce pages to userspace. Allocate bounce pages with __GFP_ZERO to avoid leaking information to userspace.

Affected products

Linux
  • <5.15
  • =<6.6.*
  • <9c1523803445ee0348f62b77793266dd981596e0
  • =<*
  • <fde25641cbddd0c084e3320d08f755e7e6acfae5
  • ==5.15
  • =<6.18.*
  • <690fb82c4122f8c2656fa4f842275132771b68b9
  • =<6.12.*
  • =<7.1.*
  • <00335df9da2011e095f846d645cc2e9fd2907659
  • <5e88c1bc3a41d9a260dd42bae8ad18fd4f35bbe1
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
can: isotp: use unconditional synchronize_rcu() in isotp_release()

In the Linux kernel, the following vulnerability has been resolved: can: isotp: use unconditional synchronize_rcu() in isotp_release() isotp_notify() unregisters the (RCU) CAN filters via can_rx_unregister() and clears so->bound without waiting for a grace period. isotp_release() uses so->bound to decide whether it needs to call synchronize_rcu() before cancelling so->rxtimer, so when NETDEV_UNREGISTER runs first it skips that synchronize_rcu() and can cancel the timer while an in-flight isotp_rcv() is still executing and about to re-arm it via isotp_send_fc(), leading to a use-after-free timer callback on the freed socket. sakisho-bot remarked a problem with rtnl_lock held in isotp_notify(), therefore make isotp_release() always call synchronize_rcu() before cancelling the timers, regardless of so->bound. This still closes the original race (isotp_notify() clearing so->bound without waiting for in-flight isotp_rcv() callers before isotp_release() cancels the RX timer) without adding any RCU wait to the netdevice notifier path.

Affected products

Linux
  • =<6.6.*
  • =<*
  • <b88a511308779c225005d7994b8744561bdbafbc
  • <5.13
  • =<7.1.*
  • =<5.10.*
  • <6280eda96e0707264849fa7d036fed873c1f8a6d
  • =<6.18.*
  • <9b1a02e0d980ac6b0e36a90378f847062f81d7e4
  • =<6.1.*
  • <5.14
  • ==ebf91625b3e404bd2b4b694c7ee71c1e8f8bd08f
  • <cb6abc584a1bfab107ac003d64948a4aef1730aa
  • =<6.12.*
  • =<5.15.*
  • <15413a082df69175c2f96aeab4c26fe1ff7cff03
  • <59672aa4bcd8d32172c1ff6a179583981d6acabc
  • <5.10.261
  • <945d9894502cd9124f5d676181c542ed2000f7c0
  • ==5.14
  • ==80c6ddf771df2ef786f28c1ca5919b3f1080091b
  • <5.14
  • <b8278ff605187ef3fa0f2705e93251cce4c4f8ee
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
tcp: defer md5sig_info kfree past RCU grace period in tcp_connect

In the Linux kernel, the following vulnerability has been resolved: tcp: defer md5sig_info kfree past RCU grace period in tcp_connect The md5+ao reconciliation in tcp_connect() (net/ipv4/tcp_output.c) has two symmetric branches: if (needs_md5) { tcp_ao_destroy_sock(sk, false); } else if (needs_ao) { tcp_clear_md5_list(sk); kfree(rcu_replace_pointer(tp->md5sig_info, NULL, ...)); } Both branches free a per-socket auth-info object while the socket is in TCP_SYN_SENT and is already on the inet ehash (inserted by inet_hash_connect() in tcp_v4_connect()). Both branches are reachable by softirq RX-path readers that load the corresponding info pointer via implicit RCU before bh_lock_sock_nested() is taken. The needs_md5 branch is fixed in the prior patch by re-introducing the call_rcu() free in tcp_ao_destroy_sock(): the equivalent per-key loop runs inside tcp_ao_info_free_rcu(), the RCU callback, so by the time it frees each tcp_ao_key all softirq readers that captured the container have already completed rcu_read_unlock(). The needs_ao branch is not symmetric in the same way. The container free can be deferred via kfree_rcu(md5sig, rcu) -- struct tcp_md5sig_info already has the required rcu member (include/net/tcp.h:1999-2002), and the rest of the tree already does this in the tcp_md5sig_info_add() rollback paths (net/ipv4/tcp_ipv4.c:1410, 1436). But the per-key teardown is done by tcp_clear_md5_list() in process context BEFORE the container's RCU grace period: it walks &md5sig->head and frees each tcp_md5sig_key with bare hlist_del + kfree. A concurrent softirq reader in __tcp_md5_do_lookup() / __tcp_md5_do_lookup_exact() (tcp_ipv4.c:1253, 1298) walks the same list via hlist_for_each_entry_rcu() and races with that bare kfree on the keys themselves -- a per-key slab use-after-free of the same class as the TCP-AO bug, on the same race window. Fix this in two halves: 1. Convert the bare kfree() in tcp_connect() to kfree_rcu() so the md5sig_info container joins the rest of the md5sig lifecycle. The local-variable lift is mechanical and required because kfree_rcu() is a macro that expects an lvalue. 2. Make tcp_clear_md5_list() RCU-safe by replacing hlist_del + kfree(key) with hlist_del_rcu + kfree_rcu(key, rcu). struct tcp_md5sig_key already carries the rcu member (include/net/tcp.h:1995) and tcp_md5_do_del() (net/ipv4/tcp_ipv4.c:1456) already uses kfree_rcu, so this restores the lifecycle invariant the rest of the file follows rather than introducing a one-off. The other caller of tcp_clear_md5_list() is tcp_md5_destruct_sock() (net/ipv4/tcp.c:412), which runs from the sock destructor when the socket is already unhashed and unreachable; the extra grace period there is unnecessary but harmless. Making the helper unconditionally RCU-safe is the cleaner contract. The needs_ao branch is not reachable by the userns reproducer used to demonstrate the AO-side splat (the repro installs both keys but ends up in the needs_md5 branch because the connect peer matches the MD5 key, not the AO key); however the symmetric race exists and a maintainer touching this code should not have to think about which branch escapes RCU and which one does not. [also credits to Qihang, who found that this races with tcp-diag]

Affected products

Linux
  • <da48b9bf1eb95a9cfd09d615ca58cfc2b03de369
  • <b74cd55038905d5e74c1de109ab78a30b2ea0e1f
  • <33a1bee413628378fd036a4f2b17ba86b0bc560c
  • <6.18
  • =<*
  • ==6.18
  • =<6.18.*
  • =<7.1.*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
x86/boot: Validate console=uart8250 baud rate to fix early boot hang

In the Linux kernel, the following vulnerability has been resolved: x86/boot: Validate console=uart8250 baud rate to fix early boot hang When the baud rate is empty, 0, invalid, or overflows to 0 when stored as an int, the system will hang during early boot because of a division by zero in early_serial_init(). Fall back to DEFAULT_BAUD when the resulting baud rate is 0 to prevent an early system hang.

Affected products

Linux
  • <f7c67c97b37c11f2a95c204092fb8159f2779e8f
  • =<5.10.*
  • =<6.6.*
  • =<*
  • <4dad7e870c7e5178f71b5e1e4f67934b9e8cc207
  • <c1a276a731d02cbb728d0530f327a68728f2d8b0
  • <efa96a22613b86e05cd81229ce0be411c1a4a79a
  • <9a77a7639dfdc3eca417cd37620ce64da79c80c4
  • <24fbed0a2a45f5f379ef2b53bd2abe58be1142ad
  • <2.6.36
  • =<6.18.*
  • =<6.12.*
  • =<7.1.*
  • =<5.15.*
  • <ffa0aa5b625fe0bed7463ac613f8b06676ff4542
  • =<6.1.*
  • <b4d05032e9af7137eab8f3af2855073f896ca843
  • ==2.6.36