Nixpkgs security tracker

Try the new UI
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 months ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
ipv6: anycast: insert aca into global hash under idev->lock

In the Linux kernel, the following vulnerability has been resolved: ipv6: anycast: insert aca into global hash under idev->lock syzbot reported a splat [1]: a slab-use-after-free in ipv6_chk_acast_addr(), which walks the global inet6_acaddr_lst[] hash under RCU and dereferences a struct ifacaddr6 that has already been freed while still linked in the hash, so a later reader walks into a dangling node. In __ipv6_dev_ac_inc() the aca is allocated with refcount 1, then aca_get() bumps it to 2 to keep it alive across the unlocked region. It is published to idev->ac_list under idev->lock, but ipv6_add_acaddr_hash() runs after write_unlock_bh(). A concurrent teardown (ipv6_ac_destroy_dev() from addrconf_ifdown(), under RTNL) can slip into that window: CPU0 __ipv6_dev_ac_inc CPU1 ipv6_ac_destroy_dev (RTNL) ------------------------------ ------------------------------------ aca_alloc() refcnt 1 aca_get() refcnt 2 write_lock_bh(idev->lock) add aca to ac_list write_unlock_bh(idev->lock) write_lock_bh(idev->lock) pull aca off ac_list write_unlock_bh(idev->lock) ipv6_del_acaddr_hash(aca) hlist_del_init_rcu() is a no-op, aca is not in the hash yet aca_put() refcnt 2->1 ipv6_add_acaddr_hash(aca) aca now inserted into the hash aca_put() refcnt 1->0 call_rcu(aca_free_rcu) -> kfree(aca) The hash removal becomes a no-op because the insertion has not happened yet, so once CPU0 inserts and drops the last reference, the aca is freed while still linked in inet6_acaddr_lst[], and readers dereference freed memory after the slab slot is reused. This window opened once RTNL stopped serializing the join path against device teardown. Move ipv6_add_acaddr_hash() inside the idev->lock section so the ac_list and hash insertions are atomic with respect to teardown: a racing remover now either misses the aca entirely or finds it in both lists. acaddr_hash_lock is now nested under idev->lock, which is acquired in softirq context, so switch all acaddr_hash_lock sites to spin_lock_bh() to avoid the irq lock inversion reported in [2]. [1] https://syzkaller.appspot.com/bug?extid=a01df04303c131efbf3a [2] https://lore.kernel.org/netdev/6a194ef7.ba3b1513.1890b4.0000.GAE@google.com/

Affected products

Linux
  • ==6.17
  • <6.17
  • <15be7e9fdbff831fb3e89b83cc337a4f85ad3310
  • =<*
  • <3a967c498baa976b11d4800dda224c507416e97c
  • =<6.18.*
  • =<7.0.*
  • <f723ccaff2fb72b71ae8a9fd283f0dee4d9ae7a3
Dismissed
(max. allowed matches exceeded)
created 3 months ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
KVM: arm64: nv: Fix handling of XN[0] when !FEAT_XNX

In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: nv: Fix handling of XN[0] when !FEAT_XNX XN has already been extracted from its bitfield position so using FIELD_PREP() on the mask that clears XN[0] is completely broken, having the effect of unconditionally granting execute permissions... Fix the obvious mistake by manipulating the right bit.

Affected products

Linux
  • ==6.19
  • <49b32ddb87a3a109afecea89e55d70f73956b8bc
  • =<*
  • =<7.0.*
  • <b95976c2ea446044553a5f469c0bae13553d75ab
  • <6.19
Dismissed
(max. allowed matches exceeded)
created 3 months ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
firmware: stratix10-rsu: Fix NULL deref on rsu_send_msg() timeout in probe

In the Linux kernel, the following vulnerability has been resolved: firmware: stratix10-rsu: Fix NULL deref on rsu_send_msg() timeout in probe rsu_send_msg() can return -ETIMEDOUT when wait_for_completion_interruptible_timeout() fires while the SMC call is still pending. In stratix10_rsu_probe(), the error paths for COMMAND_RSU_DCMF_VERSION, COMMAND_RSU_DCMF_STATUS, COMMAND_RSU_MAX_RETRY and COMMAND_RSU_GET_SPT_TABLE call stratix10_svc_free_channel() - which sets chan->scl to NULL - but then fall through and queue the next request on the same channel. The next svc kthread that runs will dereference pdata->chan->scl in its receive callback path, triggering a NULL pointer dereference identical to the one fixed by commit c45f7263100c ("firmware: stratix10-rsu: Fix NULL pointer dereference when RSU is disabled") for the COMMAND_RSU_STATUS path. Apply the same cleanup pattern to the remaining failure paths: remove the async client, free the channel, and return early so no further messages are queued on a channel whose scl has been cleared. While at it, clean up stratix10_rsu_probe() in two ways without changing behavior: - Drop redundant zero-initialization of fields already cleared by devm_kzalloc(): client.receive_cb, status.* and spt0/1_address (INVALID_SPT_ADDRESS is 0x0). - Replace five identical 3-line error-cleanup blocks (stratix10_svc_remove_async_client() + stratix10_svc_free_channel() + return ret) with goto labels (remove_async_client, free_channel), matching the standard kernel resource-unwinding pattern and making it easier to extend the probe sequence without forgetting matching cleanup. Also move init_completion() next to mutex_init() so sync-primitive initialization is grouped before anything that could trigger a callback. --- v2: Add a minor clean-up of the function stratix10_rsu_probe() to have a centralize exit for all the rsu_send_async_msg() and rsu_send_msg().

Affected products

Linux
  • <bfd2eb9bba548a8f63c3339bb1fb9a2031a42d86
  • ==6.19
  • <6bc249d324241c64118a3018124798c28e2950f7
  • =<*
  • =<7.0.*
  • <6.19
Dismissed
(max. allowed matches exceeded)
created 3 months ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
mm/huge_memory: update file PMD counter before folio_put()

In the Linux kernel, the following vulnerability has been resolved: mm/huge_memory: update file PMD counter before folio_put() __split_huge_pmd_locked() updates the file/shmem RSS counter after dropping the PMD mapping's folio reference. If folio_put() drops the last reference, mm_counter_file() can later read freed folio state via folio_test_swapbacked(). Move the counter update before folio_put().

Affected products

Linux
  • <84b3212b166b446faea27ebebb7161405ffceef9
  • <6c29a8ba084e89499ca77b947e07ae817f9c16ce
  • =<6.1.*
  • =<*
  • <5f5b604e1e6bde4e889199168ee80fe8306d06ad
  • =<5.15.*
  • <108963978a681c0c468d279cac2b930c27672877
  • =<5.10.*
  • <4.19
  • =<6.18.*
  • =<7.0.*
  • <459771c9cf30f378bdbd30fc65d17f7eb931bb59
  • =<6.6.*
  • <ed5b030931292c94133437ac5e5ff580e498eabd
  • =<6.12.*
  • ==4.19
  • <ae9d4caf6f133e884cf5fcda4982c493b35e5194
  • <8d878059924f12c1bc24556a92ec56add74de3c8
Dismissed
(max. allowed matches exceeded)
created 3 months ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
ALSA: PCM: Fix wait queue list corruption in snd_pcm_drain() on linked streams

In the Linux kernel, the following vulnerability has been resolved: ALSA: PCM: Fix wait queue list corruption in snd_pcm_drain() on linked streams snd_pcm_drain() uses init_waitqueue_entry which does not clear entry.prev/next, and add_wait_queue with a conditional remove_wait_queue that is skipped when to_check is no longer in the group after concurrent UNLINK. The orphaned wait entry remains on the unlinked substream sleep queue. On the next drain iteration, add_wait_queue adds the entry to a new queue while still linked on the old one, corrupting both lists. A subsequent wake_up dereferences NULL at the func pointer (mapped from the spinlock at offset 0 of the misinterpreted wait_queue_head_t), causing a kernel panic. Replace init_waitqueue_entry/add_wait_queue/conditional remove_wait_queue with init_wait_entry/prepare_to_wait/ finish_wait. init_wait_entry clears prev/next via INIT_LIST_HEAD on each iteration and sets autoremove_wake_function which auto-removes the entry on wake-up. finish_wait safely handles both the already-removed and still-queued cases.

Affected products

Linux
  • =<*
  • =<5.10.*
  • <88fe2e3658726cb21ff2dcf9770bf672f9b9d31b
  • =<6.12.*
  • <cd98837db15f323463b8df07282ac723bd5c3fed
  • <d68b621bb5a48051932f1017a6e1bc9b18f854d0
  • =<6.1.*
  • <5.10.259
  • =<6.6.*
  • <6.6.143
  • <6.1.176
  • ==7.0
  • <6.20
  • <7c71a9522555ff137a9ca36b15d759ca04d84788
  • <b053fcd8912f06c30f932f5b8ec41c72de474695
  • <6.12.94
  • =<6.18.*
  • <cac5bf3500ee6422cf64e0df0b5daeecfed42917
  • <7.0
  • =<7.0.*
  • <d842f26a167e77a36f3ed333b9fa99d36ef99fe6
  • <6.18.36
  • ==c2f64e05a0587a83ec42dbd6b7a7ded79b2ff694
Dismissed
(max. allowed matches exceeded)
created 3 months ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
ipv6: mcast: Fix use-after-free when processing MLD queries

In the Linux kernel, the following vulnerability has been resolved: ipv6: mcast: Fix use-after-free when processing MLD queries When processing an MLD query, a pointer to the multicast group address is retrieved when initially parsing the packet. This pointer is later dereferenced without being reloaded despite the fact that the skb header might have been reallocated following the pskb_may_pull() calls, leading to a use-after-free [1]. Fix by copying the multicast group address when the packet is initially parsed. [1] BUG: KASAN: slab-use-after-free in __mld_query_work (net/ipv6/mcast.c:1512) Read of size 8 at addr ffff8881154b8e90 by task kworker/4:1/118 Workqueue: mld mld_query_work Call Trace: <TASK> dump_stack_lvl (lib/dump_stack.c:94 lib/dump_stack.c:120) print_address_description.constprop.0 (mm/kasan/report.c:378) print_report (mm/kasan/report.c:482) kasan_report (mm/kasan/report.c:595) __mld_query_work (net/ipv6/mcast.c:1512) mld_query_work (net/ipv6/mcast.c:1563) process_one_work (kernel/workqueue.c:3314) worker_thread (kernel/workqueue.c:3397 kernel/workqueue.c:3478) kthread (kernel/kthread.c:436) ret_from_fork (arch/x86/kernel/process.c:158) ret_from_fork_asm (arch/x86/entry/entry_64.S:245) </TASK> [...] Freed by task 118: kasan_save_stack (mm/kasan/common.c:57) kasan_save_track (mm/kasan/common.c:78) kasan_save_free_info (mm/kasan/generic.c:584) __kasan_slab_free (mm/kasan/common.c:253 mm/kasan/common.c:285) kfree (./include/linux/kasan.h:235 mm/slub.c:2689 mm/slub.c:6251 mm/slub.c:6566) pskb_expand_head (net/core/skbuff.c:2335) __pskb_pull_tail (net/core/skbuff.c:2878 (discriminator 4)) __mld_query_work (net/ipv6/mcast.c:1495 (discriminator 1)) mld_query_work (net/ipv6/mcast.c:1563) process_one_work (kernel/workqueue.c:3314) worker_thread (kernel/workqueue.c:3397 kernel/workqueue.c:3478) kthread (kernel/kthread.c:436) ret_from_fork (arch/x86/kernel/process.c:158) ret_from_fork_asm (arch/x86/entry/entry_64.S:245)

Affected products

Linux
  • <087dbacf897c020f438f780f0a4a8aa73b6d7c5a
  • <791c91dc7a9dfb2457d5e29b8216a6484b9c4b40
  • <b2eb8886200b907fc71806869620609f0f4cacb0
  • <2.6.15
  • =<6.1.*
  • =<*
  • <2a613bf497029d555a7428406aa8cdb84a503cea
  • =<5.15.*
  • <4203806f700bb44ea0b05d484d9d40044b47fb04
  • =<6.18.*
  • <53baa63a4183291574483f89583dbef13677a2c4
  • =<6.6.*
  • =<6.12.*
  • <1354271c89d0e5fbf8b3d94097ff0216695209c7
  • ==2.6.15
  • =<7.0.*
Dismissed
(max. allowed matches exceeded)
created 3 months ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
net: phy: clean the sfp upstream if phy probing fails

In the Linux kernel, the following vulnerability has been resolved: net: phy: clean the sfp upstream if phy probing fails Sashiko reported that we don't call sfp_bus_del_upstream() in the probe failure path, so let's add it, otherwise the sfp-bus is left with a dangling 'upstream' field, that may be used later on during SFP events. This issue existed before the generic phylib sfp support, back when drivers were calling phy_sfp_probe themselves.

Affected products

Linux
  • ==5.5
  • <48774e87bbaa0056819d4b52301e4692e50e3252
  • <5.5
  • =<*
Dismissed
(max. allowed matches exceeded)
created 3 months ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
netfilter: synproxy: add mutex to guard hook reference counting

In the Linux kernel, the following vulnerability has been resolved: netfilter: synproxy: add mutex to guard hook reference counting As the synproxy infrastructure register netfilter hooks on-demand when a user adds the first iptables target or nftables expression, if done concurrently they can race each other. Introduce a mutex to serialize the refcount control blocks access from both frontends. While a per namespace mutex might be more efficient, it is not needed for target/expression like SYNPROXY.

Affected products

Linux
  • <0f8ba5e4c53d2e4a536aa68140beda9fe59b2f88
  • <aaf80701dc2f7a48fe543961e21f8ca3924d587c
  • <fbf0591275f50eae5733c3d7a8cd6c1e79933ffa
  • ==5.3
  • <5.3
  • =<6.1.*
  • =<5.15.*
  • =<*
  • =<5.10.*
  • =<6.18.*
  • <56ffbe3a08c01dcdb0d6adee9ce1e535bfb3b389
  • <0ec9ddc1bda261a2c57636c74c8b4e53000102c9
  • =<6.6.*
  • =<6.12.*
  • <2fcba19caaeb2a33017459d3430f057967bb91b6
  • =<7.0.*
  • <640441348258220e78daed40528b85b8afcedab6
  • <debc57b83d5b323df74bf010c8d50fe26ad2ed6b
Dismissed
(max. allowed matches exceeded)
created 3 months ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
net: mvpp2: sync RX data at the hardware packet offset

In the Linux kernel, the following vulnerability has been resolved: net: mvpp2: sync RX data at the hardware packet offset mvpp2 programs the RX queue packet offset, so hardware writes received data at dma_addr + MVPP2_SKB_HEADROOM. The current CPU sync starts at dma_addr and only covers rx_bytes + MVPP2_MH_SIZE bytes, which syncs the unused headroom and misses the same number of bytes at the packet tail. On non-coherent DMA systems this can leave the CPU reading stale cache contents for the end of the received frame. Use dma_sync_single_range_for_cpu() with MVPP2_SKB_HEADROOM as the range offset so the sync covers the Marvell header and packet data actually written by hardware.

Affected products

Linux
  • <60412bdd1b2576659eac23a23d2d9ff96228a643
  • <23548007b3c66d628fc7d6b80d1e23be04ea10d9
  • =<6.1.*
  • =<*
  • <e302206ad84a407a7e5f3f6fe767ff5efaace689
  • <a13199fa224e9f776f4005d5037df03aa9ea8f37
  • <19f8bc139e9b149d1e5bf75ae761d1bb8dd3e7d8
  • =<5.10.*
  • =<5.15.*
  • =<6.18.*
  • ==5.5
  • =<6.6.*
  • =<6.12.*
  • <180235600934bef6add3be637c296d6cf3272e67
  • <bede0f481b9137d73d1cf64309cbe4b94818a5d6
  • =<7.0.*
  • <a3ad9b5767c89531fc7dae951b51b0933dcf7051
  • <5.5
Dismissed
(max. allowed matches exceeded)
Permalink CVE-2026-57520
7.1 HIGH
  • CVSS version (CVSS): 4.0
  • Attack Vector (AV): Network (N)
  • Attack Complexity (AC): Low (L)
  • Attack Requirement (AT): None (N)
  • Privileges Required (PR): Low (L)
  • User Interaction (UI): None (N)
  • Vulnerable System Impact Confidentiality (VC): None (N)
  • Vulnerable System Impact Integrity (VI): High (H)
  • Vulnerable System Impact Availability (VA): Low (L)
  • Subsequent System Impact Confidentiality (SC): None (N)
  • Subsequent System Impact Integrity (SI): None (N)
  • Subsequent System Impact Availability (SA): None (N)
  • Modified Attack Vector (MAV): Network (N)
  • Modified Attack Complexity (MAC): Low (L)
  • Modified Attack Requirement (MAT): None (N)
  • Modified Privileges Required (MPR): Low (L)
  • Modified User Interaction (MUI): None (N)
  • Modified Vulnerable System Impact Confidentiality (MVC): None (N)
  • Modified Vulnerable System Impact Integrity (MVI): High (H)
  • Modified Vulnerable System Impact Availability (MVA): Low (L)
  • Modified Subsequent System Impact Confidentiality (MSC): Negligible (N)
  • Modified Subsequent System Impact Integrity (MSI): Negligible (N)
  • Modified Subsequent System Impact Availability (MSA): Negligible (N)
  • Safety (S): Not Defined (X)
  • Automatable (AU): Not Defined (X)
  • Recovery (R): Not Defined (X)
  • Value Density (V): Not Defined (X)
  • Vulnerability Response Effort (RE): Not Defined (X)
  • Provider Urgency (U): Not Defined (X)
  • Confidentiality Req. (CR): Not Defined (X)
  • Integrity Req. (IR): Not Defined (X)
  • Availability Req. (AR): Not Defined (X)
  • Exploit Maturity (E): Not Defined (X)
created 3 months ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
Bitwarden Server < 2026.5.0 Privilege Escalation via Bulk User Remove Endpoint

Bitwarden Server before 2026.5.0 contains a privilege escalation vulnerability that allows authenticated Custom users with ManageUsers permission to remove Admin accounts from an organization by exploiting a missing role hierarchy check in the bulk user-remove endpoint. Attackers can supply Admin organization-user IDs in a bulk DELETE request to bypass the guard enforced on the single-user removal path, effectively removing one or more Admin accounts from an organization.

Affected products

server
  • <2026.5.0