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
net: guard timestamp cmsgs to real error queue skbs

In the Linux kernel, the following vulnerability has been resolved: net: guard timestamp cmsgs to real error queue skbs skb_is_err_queue() treats PACKET_OUTGOING as the sole marker for an skb from sk_error_queue. That assumption is not true for AF_PACKET sockets: outgoing packet taps are also delivered to packet sockets with skb->pkt_type == PACKET_OUTGOING, but their skb->cb is owned by AF_PACKET instead of struct sock_exterr_skb. If such an skb is received with timestamping enabled, the generic timestamp cmsg path can read AF_PACKET control-buffer state as sock_exterr_skb::opt_stats. With SO_RXQ_OVFL enabled, the packet drop counter overlaps opt_stats. An odd drop count makes the path emit SCM_TIMESTAMPING_OPT_STATS with skb->len and skb->data. For non-linear skbs this copies past the linear head and can trigger hardened usercopy or disclose adjacent heap contents. Keep skb_is_err_queue() local to net/socket.c, but make it verify that the PACKET_OUTGOING marker is paired with the sock_rmem_free destructor installed by sock_queue_err_skb(). AF_PACKET receive skbs use normal receive ownership and no longer pass as error-queue skbs, while legitimate sk_error_queue entries keep the PACKET_OUTGOING marker and sock_rmem_free ownership.

Affected products

Linux
  • <3dde4fb941fa5649ab809f6cd3e20e0c424a4e31
  • <e0665b2a8e90bb08bd205062c75662b502d31797
  • =<5.10.*
  • <ad9a0374ee6d11048e1f74cd5180bad58b9848b4
  • =<6.1.*
  • =<5.15.*
  • <71ff5cdd5da61d0438e902aa0fd68c28bc901abe
  • <4.11
  • <4.11
  • <eb51a9ad3ceb01bc6c0fb608dbc856e03ee6f24a
  • <24a0d548d3a765cd4558224e4f8e06e14cba26e3
  • <1ee90b77b727df903033db873c75caac5c27ec98
  • =<7.0.*
  • =<6.6.*
  • <b903e9b5629ec8dd6db92174070045bf81ad7060
  • ==cdaf15b43bd31003220cb080bcbbd57787a2fca9
  • =<6.12.*
  • =<*
  • =<6.18.*
  • ==4.11
Dismissed
(max. allowed matches exceeded)
created 2 months 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
  • <98733f3f0becb1ae0701d021c1748e974e5fa55c
  • <6.13
  • ==6.13
  • <c19ff4351214f059349788e13e70e74325831ff6
  • =<6.18.*
  • =<7.0.*
  • =<*
  • <2b66496d794e98f7aeec7688573051f22ec40bac
Dismissed
(max. allowed matches exceeded)
created 2 months 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
  • <40e2a459c0dd1333b2343831480a0ad80dc07614
  • <5b6b6fc491899d583eaa75344e094796ae9b530b
  • <e0d38bf47a72da2f02c9fa6f752cd66d977cd7f7
  • <cb85ef5a227b3662b88f4d849a1aad43bfe7f5ae
  • =<6.18.*
  • ==4.20
  • =<7.0.*
  • <4.20
  • =<6.12.*
  • =<*
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 2 months 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
  • <19.0.3
  • <19.1.1
  • <18.11.6
Dismissed
(max. allowed matches exceeded)
created 2 months 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
  • <55363fa0a04524d11efeaadee734d2db1756ed27
  • <6.2
  • <6.13
  • ==8a1fc8d698ac5e5916e3082a0f74450d71f9611f
  • <7.0.13
  • <6.18.36
  • ==6d52dfcb2a5db86e346cf51f8fcf2071b8085166
  • ==d8cce4773c2b23d819baf5abedc62f7b430e8745
  • <a388e3dfaf9538a680de5ed43a8ebb5dd45b6e53
  • <6.7
  • <40a25d59e85b3c8709ac2424d44f65610467871e
Dismissed
(max. allowed matches exceeded)
created 2 months 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
  • <6.16
  • <c0cafe24d3f6534294c4b2bc2d47734ff7cbd313
  • =<6.18.*
  • <00731bd7e18f182a32ca54d6b176eaa470b51ed7
  • ==6.16
  • =<7.0.*
  • =<*
  • <89bd8215e25aa6999cc51696da418e0d422bc5e0
Dismissed
(max. allowed matches exceeded)
created 2 months 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
  • <da8808463882c3f3c357b072e25053c2121f1419
  • <06ce6fc106b16dec9b535950db626261be865e5b
  • <da8cbb64b47e9066b40af0de170901caf17b768c
  • ==4.6
  • <c32f30ef5e66adbfa102348e2e8a23776eb007cb
  • <dcb1bec1c32ee5c3878354e087cf5dbee2b7c7af
  • =<6.1.*
  • =<5.15.*
  • <4.6
  • <2a58899d11009bffc7b4b32a571858f381121837
  • =<6.12.*
  • =<7.0.*
  • =<6.18.*
  • <4485d79617520d84ba5a14515e2b5136007d6deb
  • <f24a58c72a45f4c109f3557a760cc4b60b7a6037
  • =<*
  • =<6.6.*
  • =<5.10.*
Dismissed
(max. allowed matches exceeded)
created 2 months 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
  • =<*
  • <8ce96f1182644079249a24ac7e2ffc32e0301a46
  • <2.6.25
  • <8e86817b8af4d552f3c6fe04ca52bb0c8c57411d
  • ==2.6.25
  • =<6.1.*
  • =<6.6.*
  • =<5.15.*
  • =<6.12.*
  • =<7.0.*
  • =<6.18.*
  • <928dd94db23e8ba340f83d68f7f24d831b7a4426
  • <f8373d7090b745728de66308deeecc67e8d319ce
  • <f76a8b323e28e0951f979dbef20a7496383c47df
  • <d6bd0bb7697ea8c0387b0d9d973453f479017b23
  • <d796cfd06074b579d265b28401306cadd30db945
  • <446e0ecd845abc394b24ae2030a883572bec9d16
  • =<5.10.*
Dismissed
(max. allowed matches exceeded)
created 2 months 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
  • <b38cae85d1c45ff189d7ecb6ac36f41cdc3d84d0
  • ==6.15
  • <4b5a574e033e66d2131eff1c18feef8d8643c67e
  • <6.15
  • =<7.0.*
  • <6f829e2c17a53a35321268339cd252aff6d6d723
  • =<6.18.*
  • =<*
Dismissed
(max. allowed matches exceeded)
created 2 months 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
  • <fc657ac0767c49839b3ef0b08dc0953ca30883f8
  • <2fc7bc087cc7085368263d9d37bfe9a0bddd6a2d
  • <47fb3c2b4203556308e64354b3e78f2ce221d646
  • <90fd4513315ca07da99cfd8549d3e553a7160f0d
  • =<6.18.*
  • =<6.1.*
  • =<6.6.*
  • <a5c0359f5cbc51a2e2b114d6041e0f3c73f903e9
  • =<5.15.*
  • =<6.12.*
  • =<7.0.*
  • <f513f308cc4bdb4530d033431592ffbc29b7fca1
  • <c327fa4fca31415431202e063767a7ae342e19c6
  • =<*
  • <3.19
  • <2abfb19bbb81958714ad1d43ebeb65b30394184b
  • =<5.10.*