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
mm/list_lru: drain before clearing xarray entry on reparent

In the Linux kernel, the following vulnerability has been resolved: mm/list_lru: drain before clearing xarray entry on reparent memcg_reparent_list_lrus() clears the dying memcg's xarray entry with xas_store(&xas, NULL) before reparenting its per-node lists into the parent. This opens a window where a concurrent list_lru_del() arriving for the dying memcg sees xa_load() == NULL, walks to the parent in lock_list_lru_of_memcg(), takes the parent's per-node lock, and calls list_del_init() on an item still physically linked on the dying memcg's list. If another in-flight thread holds the dying memcg's per-node lock at the same moment (another list_lru_del, or a list_lru_walk_one running an isolate callback), both threads modify ->next/->prev pointers on the same physical list under different locks. Adjacent items can corrupt each other's links. Fix it by reversing the order: reparent each per-node list and mark the child's list lru dead and then clear the xarray entry. Any concurrent list_lru op that finds the still-set xarray entry either takes the dying memcg's per-node lock (synchronizing with the drain) or sees LONG_MIN and walks to the parent, where the items now live.

Affected products

Linux
  • =<6.18.*
  • =<*
  • =<7.0.*
  • <98733f3f0becb1ae0701d021c1748e974e5fa55c
  • ==6.13
  • <2b66496d794e98f7aeec7688573051f22ec40bac
  • <6.13
  • <c19ff4351214f059349788e13e70e74325831ff6
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
nvmem: core: fix use-after-free bugs in error paths

In the Linux kernel, the following vulnerability has been resolved: nvmem: core: fix use-after-free bugs in error paths Fix several instances of error paths in which we call __nvmem_device_put() - which may end up freeing the underlying memory and other resources - and then keep on using the nvmem structure. Always put the reference to the nvmem device as the last step before returning the error code.

Affected products

Linux
  • =<6.18.*
  • <4.20
  • <5b6b6fc491899d583eaa75344e094796ae9b530b
  • ==4.20
  • <e0d38bf47a72da2f02c9fa6f752cd66d977cd7f7
  • =<7.0.*
  • =<6.12.*
  • <cb85ef5a227b3662b88f4d849a1aad43bfe7f5ae
  • <40e2a459c0dd1333b2343831480a0ad80dc07614
  • =<*
Dismissed
(max. allowed matches exceeded)
Permalink CVE-2026-11379
5.3 MEDIUM
  • CVSS version (CVSS): 3.1
  • Attack Vector (AV): Network (N)
  • Attack Complexity (AC): High (H)
  • Privileges Required (PR): Low (L)
  • User Interaction (UI): None (N)
  • Scope (S): Unchanged (U)
  • Confidentiality (C): High (H)
  • Integrity (I): None (N)
  • Availability (A): None (N)
  • Modified Attack Vector (MAV): Network (N)
  • Modified Attack Complexity (MAC): High (H)
  • Modified Privileges Required (MPR): Low (L)
  • Modified User Interaction (MUI): None (N)
  • Modified Confidentiality (MC): High (H)
  • Modified Scope (MS): Unchanged (U)
  • Modified Integrity (MI): None (N)
  • Modified Availability (MA): None (N)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
Incorrect Authorization in GitLab

GitLab has remediated an issue in GitLab EE affecting all versions from 13.11 prior to 18.11.6, 19.0 prior to 19.0.3, and 19.1 prior to 19.1.1 in which incorrect authorization in DAST site profile management could allow a user with Developer role to exfiltrate DAST site profile secrets under certain conditions.

Affected products

GitLab
  • <18.11.6
  • <19.1.1
  • <19.0.3
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
locking/rtmutex: Skip remove_waiter() when waiter is not enqueued

In the Linux kernel, the following vulnerability has been resolved: locking/rtmutex: Skip remove_waiter() when waiter is not enqueued syzbot triggered the following splat in remove_waiter() via FUTEX_CMP_REQUEUE_PI: KASAN: null-ptr-deref in range [0x0000000000000a88-0x0000000000000a8f] class_raw_spinlock_constructor remove_waiter+0x159/0x1200 kernel/locking/rtmutex.c:1561 rt_mutex_start_proxy_lock+0x103/0x120 futex_requeue+0x10e4/0x20d0 __x64_sys_futex+0x34f/0x4d0 task_blocks_on_rt_mutex() does not arm the waiter upon deadlock detection, leaving waiter->task nil, where 3bfdc63936dd ("rtmutex: Use waiter::task instead of current in remove_waiter()") made this fatal. Furthermore, rt_mutex_start_proxy_lock() should not be calling into remove_waiter() upon a successfully grabbing the rtmutex. 1a1fb985f2e2 ("futex: Handle early deadlock return correctly"), moved the remove_waiter() out of __rt_mutex_start_proxy_lock() (where 'ret' was only ever 0 or < 0) into the wrapper. Tighten this check to account for try_to_take_rt_mutex().

Affected products

Linux
  • <6.2
  • ==8a1fc8d698ac5e5916e3082a0f74450d71f9611f
  • <6.7
  • <6.13
  • ==6d52dfcb2a5db86e346cf51f8fcf2071b8085166
  • <7.0.13
  • <6.18.36
  • ==d8cce4773c2b23d819baf5abedc62f7b430e8745
  • <a388e3dfaf9538a680de5ed43a8ebb5dd45b6e53
  • <40a25d59e85b3c8709ac2424d44f65610467871e
  • <55363fa0a04524d11efeaadee734d2db1756ed27
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
memcg: use round-robin victim selection in refill_stock

In the Linux kernel, the following vulnerability has been resolved: memcg: use round-robin victim selection in refill_stock Harry Yoo reported that get_random_u32_below() is not safe to call in the nmi context and memcg charge draining can happen in nmi context. More specifically get_random_u32_below() is neither reentrant- nor NMI-safe: it acquires a per-cpu local_lock via local_lock_irqsave() on the batched_entropy_u32 state. An NMI that lands on a CPU mid-update of the ChaCha batch state and recurses into the random subsystem would corrupt that state. The memcg_stock local_trylock prevents re-entry on the percpu stock itself, but cannot protect an unrelated subsystem's per-cpu lock. Replace the random pick with a per-cpu round-robin counter stored in memcg_stock_pcp and serialized by the same local_trylock that already guards cached[] and nr_pages[]. No atomics, no random calls, no extra locks needed.

Affected products

Linux
  • <89bd8215e25aa6999cc51696da418e0d422bc5e0
  • =<6.18.*
  • =<7.0.*
  • <c0cafe24d3f6534294c4b2bc2d47734ff7cbd313
  • <00731bd7e18f182a32ca54d6b176eaa470b51ed7
  • <6.16
  • ==6.16
  • =<*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
6lowpan: fix off-by-one in multicast context address compression

In the Linux kernel, the following vulnerability has been resolved: 6lowpan: fix off-by-one in multicast context address compression The second memcpy in lowpan_iphc_mcast_ctx_addr_compress() uses &data[1] as destination and &ipaddr->s6_addr[11] as source, but both should be offset by one: &data[2] and &ipaddr->s6_addr[12] respectively. This off-by-one has two consequences: 1. data[1] is overwritten with s6_addr[11], corrupting the RIID field in the compressed multicast address 2. data[5] is never written, so uninitialized kernel stack memory is transmitted over the network via lowpan_push_hc_data(), leaking kernel stack contents The correct inline data layout must match what the decompression function lowpan_uncompress_multicast_ctx_daddr() expects: data[0..1] = s6_addr[1..2] (flags/scope + RIID) data[2..5] = s6_addr[12..15] (group ID) Also zero-initialize the data array as a defensive measure against similar bugs in the future.

Affected products

Linux
  • <c32f30ef5e66adbfa102348e2e8a23776eb007cb
  • =<5.10.*
  • =<6.18.*
  • =<6.1.*
  • <da8808463882c3f3c357b072e25053c2121f1419
  • =<*
  • =<6.6.*
  • <f24a58c72a45f4c109f3557a760cc4b60b7a6037
  • <2a58899d11009bffc7b4b32a571858f381121837
  • =<5.15.*
  • =<6.12.*
  • =<7.0.*
  • <da8cbb64b47e9066b40af0de170901caf17b768c
  • <06ce6fc106b16dec9b535950db626261be865e5b
  • ==4.6
  • <4.6
  • <4485d79617520d84ba5a14515e2b5136007d6deb
  • <dcb1bec1c32ee5c3878354e087cf5dbee2b7c7af
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
sctp: fix uninit-value in __sctp_rcv_asconf_lookup()

In the Linux kernel, the following vulnerability has been resolved: sctp: fix uninit-value in __sctp_rcv_asconf_lookup() __sctp_rcv_asconf_lookup() in net/sctp/input.c only checks that the ASCONF chunk can hold the ADDIP header and a parameter header, then calls af->from_addr_param(), which reads the full address (16 bytes for IPv6) trusting the parameter's declared length. An unauthenticated peer can send a truncated trailing ASCONF chunk that declares an IPv6 address parameter but stops after the 4-byte parameter header; reached from the no-association lookup path, from_addr_param() then reads uninitialized bytes past the parameter. Impact: an unauthenticated SCTP peer makes the receive path read up to 16 bytes of uninitialized memory past a truncated ASCONF address parameter. The sibling __sctp_rcv_init_lookup() bounds parameters with sctp_walk_params(); this path open-codes the fetch and omits the bound. Verify the whole address parameter lies within the chunk before from_addr_param() reads it, the same class of fix as commit 51e5ad549c43 ("net: sctp: fix KMSAN uninit-value in sctp_inq_pop").

Affected products

Linux
  • =<6.18.*
  • <d6bd0bb7697ea8c0387b0d9d973453f479017b23
  • =<6.1.*
  • =<*
  • =<6.6.*
  • =<5.15.*
  • <d796cfd06074b579d265b28401306cadd30db945
  • <f76a8b323e28e0951f979dbef20a7496383c47df
  • =<6.12.*
  • <8ce96f1182644079249a24ac7e2ffc32e0301a46
  • =<7.0.*
  • <928dd94db23e8ba340f83d68f7f24d831b7a4426
  • ==2.6.25
  • <f8373d7090b745728de66308deeecc67e8d319ce
  • <2.6.25
  • <446e0ecd845abc394b24ae2030a883572bec9d16
  • =<5.10.*
  • <8e86817b8af4d552f3c6fe04ca52bb0c8c57411d
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
net: airoha: Fix use-after-free in metadata dst teardown

In the Linux kernel, the following vulnerability has been resolved: net: airoha: Fix use-after-free in metadata dst teardown airoha_metadata_dst_free() runs metadata_dst_free() which frees the metadata_dst with kfree() immediately, bypassing the RCU grace period. In the RX path, skb_dst_set_noref() sets a non-refcounted pointer from the skb to the metadata_dst. This function requires RCU read-side protection and the dst must remain valid until all RCU readers complete. Since metadata_dst_free() calls kfree() directly, an use-after-free can occur if any skb still holds a noref pointer to the dst when the driver tears it down. Replace metadata_dst_free() with dst_release() which properly goes through the refcount path: when the refcount drops to zero, it schedules the actual free via call_rcu_hurry(), ensuring all RCU readers have completed before the memory is freed.

Affected products

Linux
  • =<6.18.*
  • =<7.0.*
  • <6.15
  • <b38cae85d1c45ff189d7ecb6ac36f41cdc3d84d0
  • <4b5a574e033e66d2131eff1c18feef8d8643c67e
  • ==6.15
  • <6f829e2c17a53a35321268339cd252aff6d6d723
  • =<*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
ip6_vti: fix incorrect tunnel matching in vti6_tnl_lookup()

In the Linux kernel, the following vulnerability has been resolved: ip6_vti: fix incorrect tunnel matching in vti6_tnl_lookup() In vti6_tnl_lookup(), when an exact match for a tunnel fails, the code falls back to searching for wildcard tunnels: - Tunnels matching the packet's local address, with any remote address wildcard remote). - Tunnels matching the packet's remote address, with any local address (wildcard local). However, vti6 stores all these different types of tunnels in the same hash table (ip6n->tnls_r_l) prone to hash collisions. The bug is that the fallback search loops in vti6_tnl_lookup() were missing checks to ensure that the candidate tunnel actually has a wildcard address.

Affected products

Linux
  • ==3.19
  • =<6.18.*
  • <c327fa4fca31415431202e063767a7ae342e19c6
  • <2abfb19bbb81958714ad1d43ebeb65b30394184b
  • =<6.1.*
  • <3.19
  • =<6.6.*
  • =<5.15.*
  • =<6.12.*
  • =<7.0.*
  • <fc657ac0767c49839b3ef0b08dc0953ca30883f8
  • <47fb3c2b4203556308e64354b3e78f2ce221d646
  • <2fc7bc087cc7085368263d9d37bfe9a0bddd6a2d
  • <90fd4513315ca07da99cfd8549d3e553a7160f0d
  • <f513f308cc4bdb4530d033431592ffbc29b7fca1
  • <a5c0359f5cbc51a2e2b114d6041e0f3c73f903e9
  • =<5.10.*
  • =<*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
ipvs: clear the svc scheduler ptr early on edit

In the Linux kernel, the following vulnerability has been resolved: ipvs: clear the svc scheduler ptr early on edit ip_vs_edit_service() while unbinding the old scheduler clears the svc->scheduler ptr after the scheduler module initiates RCU callbacks. This can cause packets to use the old scheduler at the time when svc->sched_data is already freed after RCU grace period. Fix it by clearing the ptr early in ip_vs_unbind_scheduler(), before the done_service method schedules any RCU callbacks. Also, if the new scheduler fails to initialize when replacing the old scheduler, try to restore the old scheduler while still returning the error code.

Affected products

Linux
  • =<6.6.*
  • <25918720ba97f974a4f8d433b5a0132c5b43f6f3
  • ==4.2
  • <4.2
  • =<6.18.*
  • <d10730a1f2caf08088e0db1b19b242f3e6fa5f06
  • <4.2
  • <7d4f5004511757e3984901ffb412fcf858d80ed5
  • =<5.10.*
  • =<*
  • ==c803fddd2a95a70873c68dbff42d4c59fd2e674e
  • <c6376b9b1b4d2bad638256b1b3588e073344ae69
  • =<6.1.*
  • ==4ec8fb23158797affae7993c15beba080488482f
  • <e4feec3174036ba772006be74beee0efa09a9eb8
  • =<7.0.*
  • =<5.15.*
  • <193989cc6d80dd8e0460fb3992e69fa03bf0ff9b
  • <14e4689c113b4c06af1069364ade24fdd7055f33
  • <19a9493faa4bf3c7bd0a386f30b60b1bb4a3da03
  • =<6.12.*
  • <3.19