Nixpkgs security tracker

Login with GitHub

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 8 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
xfrm: move policy_bydst RCU sync from per-netns .exit to .pre_exit

In the Linux kernel, the following vulnerability has been resolved: xfrm: move policy_bydst RCU sync from per-netns .exit to .pre_exit The struct pernet_operations docstring in include/net/net_namespace.h explicitly warns against blocking RCU primitives in .exit handlers: Exit methods using blocking RCU primitives, such as synchronize_rcu(), should be implemented via exit_batch. [...] Please, avoid synchronize_rcu() at all, where it's possible. Note that a combination of pre_exit() and exit() can be used, since a synchronize_rcu() is guaranteed between the calls. xfrm_policy_fini() violates this: it calls synchronize_rcu() before freeing the policy_bydst hash tables (so no RCU reader is mid- traversal at free time), but runs from xfrm_net_ops.exit -- once per namespace -- so a cleanup_net() of N namespaces pays N full RCU grace periods serially. Use the documented pre_exit/exit split. Move the policy flush (and the workqueue drains it depends on) into a new .pre_exit handler; xfrm_policy_fini() then runs in .exit and frees the hash tables after the synchronize_rcu_expedited() that cleanup_net() guarantees between the two phases. Providing O(1) RCU grace periods per batch instead of O(N). Observed on Linux 6.18 with a workload doing unshare(CLONE_NEWNET) at ~13/sec sustained: cleanup_net() and the netns_wq rescuer kthread both stuck in xfrm_policy_fini()'s synchronize_rcu(), >300k struct net accumulated in the cleanup queue, Percpu in /proc/meminfo climbed to 130+ GB on 256-CPU hosts, and memcg OOMs followed. setup_net and __put_net counts were balanced, ruling out a refcount leak.

Affected products

Linux
  • <6.18.35
  • <7.0
  • =<6.18.*
  • <6.7
  • <6.20
  • ==33a3149dd81a1e2f52b80ee1e0fc380b39f3d028
  • =<7.0.*
  • <91cc13978ab0bc6f669139f53e7e613a860d10e0
  • =<6.12.*
  • =<*
  • <3e52417318473782012b236d0325bf7d2266a597
  • <bca6386dc08750fc7cdcbc7683473748ba3114b9
  • ==7.0
  • <d14ae8ef88c2c6590e107db61b6adce148cec7b3
  • <6.12.93
  • ==b66920a3348c0f63ba18365248fa21fbf0b3a937
Dismissed
(max. allowed matches exceeded)
created 8 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
usb: mtu3: unmap request DMA on queue failure

In the Linux kernel, the following vulnerability has been resolved: usb: mtu3: unmap request DMA on queue failure mtu3_gadget_queue() maps the request before checking whether the QMU GPD ring can accept another transfer. the request is returned with -EAGAIN before it is linked on the endpoint request list if mtu3_prepare_transfer() fails. Normal completion and dequeue paths unmap requests from mtu3_req_complete(), but this error path never reaches that helper, so the DMA mapping is left active. Unmap the request before returning from the failed queue path.

Affected products

Linux
  • <e8f739a3860d043dcc135371637e82f53132efe5
  • <00c3fef4c2dc2c7cbd8281f8fda09d1913420f09
  • <3cee30f1138281a1d247bb053a1ad4f7c5b04e98
  • <4183874b7925f4a98b400cf857bea26ee87da236
  • =<6.18.*
  • <8c29d9cfab1c3cf0d0b7fcdf9255597be30aa3e1
  • =<5.15.*
  • =<6.12.*
  • =<7.1.*
  • ==4.10
  • <f3c4026524d3660c73ef2838b99776d37631e039
  • =<6.1.*
  • =<6.6.*
  • =<*
  • <0bddda5a11665c210339de76d27ebbd1a2e0b43c
  • <835b0596d4c9bdef93f842d8f826978fb4956b74
  • <4.10
  • =<5.10.*
Dismissed
(max. allowed matches exceeded)
created 8 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
ALSA: aoa: check snd_ctl_new1() return value

In the Linux kernel, the following vulnerability has been resolved: ALSA: aoa: check snd_ctl_new1() return value snd_ctl_new1() can return NULL when memory allocation fails. In layout.c, the function does not check the return value before dereferencing ctl->id.name or passing to aoa_snd_ctl_add(), which can lead to a NULL pointer dereference. Add NULL checks after snd_ctl_new1() calls and return early if any fails.

Affected products

Linux
  • <e5e8c4508d95af82f9b4d065f658e5476a8e9bc8
  • <2.6.18
  • <e47f2a341adbac001b6f5d0211b0cd1c1668637b
  • =<6.18.*
  • <2ee9c46fd2dcd529cef18e37636ee12f5c3dbedd
  • =<6.12.*
  • <d73067e2bbf3775a495d9f38e38d0a3cf53ee790
  • =<7.1.*
  • <fd786466889e4a6e6de0f4462bd0068edea63960
  • <8df560fefe6fed6a20b7e06720eeaeccec349ac0
  • =<6.1.*
  • =<6.6.*
  • ==2.6.18
  • =<5.15.*
  • <d62624fe256b2d0d13454c78cbfc70ff5d954dc7
  • =<*
  • <b0154ebc6dc552c389a574b1e221d728e10346e7
  • =<5.10.*
Dismissed
(max. allowed matches exceeded)
created 8 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
fuse-uring: make a fuse_req on SQE commit only findable after memcpy

In the Linux kernel, the following vulnerability has been resolved: fuse-uring: make a fuse_req on SQE commit only findable after memcpy Bad userspace might try to trick us and send commit SQEs request unique / commit-id of requests that are not even send to fuse-server (io_uring_cmd_done() not called) yet. fuse_uring_commit_fetch() ends the fuse request when the ring entry has a wrong state, but that could have caused a use-after-free with the memcpy operations in fuse_uring_send_in_task(). In order to avoid such races the call of fuse_uring_add_to_pq() is moved after the copy operations and just before completing the io-uring request - malicious userspace cannot find the request anymore until all prepration work in fuse-client/kernel is completed. This also moves fuse_uring_add_to_pq() a bit up in the code to avoid a forward declaration. Also not with a preparation commit, to make it easier to back port to older kernels.

Affected products

Linux
  • =<6.18.*
  • <a635f427d57e2012102ae4886b48d8955c59fb86
  • =<7.1.*
  • <e1711479e9068ea31b31353a702a51e639c3d059
  • =<*
  • <6.14
  • ==6.14
  • <1efd3d474fc0ba74dfd984249bca78807d739812
Dismissed
(max. allowed matches exceeded)
created 8 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
fuse-uring: Avoid queue->stopped races and set/read that value under lock

In the Linux kernel, the following vulnerability has been resolved: fuse-uring: Avoid queue->stopped races and set/read that value under lock There are several readers of queue->stopped that check the value under lock, but fuse_uring_commit_fetch() did not and actually the value was not set under the lock in fuse_uring_abort_end_requests() either. Especially in fuse_uring_commit_fetch it is important to check under a lock, because due to races 'struct fuse_req' might be freed with fuse_request_end, but another thread/cpu might already do teardown work.

Affected products

Linux
  • <b70a3aca16934c196f92abb17b01c1647b9bb63c
  • =<6.18.*
  • <4021a3a79eee551d95fe1e1e7c1b195d34ba8c08
  • =<7.1.*
  • <39c8e925b207afceffaa5382416ed405e0223a03
  • =<*
  • <6.14
  • ==6.14
Dismissed
(max. allowed matches exceeded)
created 8 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
udf: validate VAT header length against the VAT inode size

In the Linux kernel, the following vulnerability has been resolved: udf: validate VAT header length against the VAT inode size udf_load_vat() takes the virtual partition's start offset straight from the on-disk VAT 2.0 header without checking it against the VAT inode size: map->s_type_specific.s_virtual.s_start_offset = le16_to_cpu(vat20->lengthHeader); map->s_type_specific.s_virtual.s_num_entries = (sbi->s_vat_inode->i_size - map->s_type_specific.s_virtual.s_start_offset) >> 2; lengthHeader is a fully attacker-controlled 16-bit value. If it exceeds the VAT inode size, the s_num_entries subtraction underflows to a huge count, which defeats the "block > s_num_entries" bound in udf_get_pblock_virt15(); and on the ICB-inline path that function reads ((__le32 *)(iinfo->i_data + s_start_offset))[block] so a large s_start_offset indexes past the inode's in-ICB data. Mounting a crafted UDF image with a virtual (VAT) partition then triggers an out-of-bounds read. Reject a VAT whose header length does not leave room for at least one entry within the VAT inode.

Affected products

Linux
  • ==2.6.26
  • <d8202786b3d75125c84ebc4de6d946f92fde0ee8
  • =<6.18.*
  • <883962731420ec271ed8c1cd76524f4b17faa982
  • <0ad2d09a8d66fa8dc6f9b70d660b5fb4478ea934
  • <2900e02a0dd4fc30ac9840e7ce4ca0b041ab0d63
  • <2.6.26
  • =<6.12.*
  • =<7.1.*
  • =<6.1.*
  • =<*
  • =<6.6.*
  • <74580fdf022909e184223cacc364feb826982d96
  • =<5.15.*
  • <bb0d384c1f42a5b7ace0bd88fee80b9bb1d49acb
  • <55287a3555ff0515b3aff181d2c08c0462a41709
  • =<5.10.*
  • <e610fb113cdfa8bf4247c9bf4f2337b81ad4ddad
Dismissed
(max. allowed matches exceeded)
created 8 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
ALSA: es1938: check snd_ctl_new1() return value

In the Linux kernel, the following vulnerability has been resolved: ALSA: es1938: check snd_ctl_new1() return value snd_ctl_new1() can return NULL when memory allocation fails. snd_es1938_mixer() does not check the return value before dereferencing the pointer, which can lead to a NULL pointer dereference. Add a NULL check after snd_ctl_new1() and return -ENOMEM if it fails.

Affected products

Linux
  • <1edd1f02dddd20aeb6066ded41017615766ea42f
  • <96cad5bd7d0a176db3fdc06717a41271247336bd
  • <1949163dee39e0e4a1468f37dd7302962f6af45a
  • <41759affbcfe3d51a32900da9547a1ffd744a85f
  • =<6.18.*
  • <7531a37720c2545a480fd0fa464978569bf9d6a2
  • <6c4efebaf73e217efbd08cdbda805758a7db3680
  • <9e53e99b6fa3cd82992d963cbff58dbbd1df8651
  • =<5.15.*
  • =<6.12.*
  • =<7.1.*
  • <2.6.12
  • =<6.1.*
  • =<*
  • =<6.6.*
  • ==2.6.12
  • <af01c48e17a66fa038af210a5c49d6cdefd210bd
  • =<5.10.*
Dismissed
(max. allowed matches exceeded)
created 8 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
crypto: loongson - Remove broken and unused loongson-rng

In the Linux kernel, the following vulnerability has been resolved: crypto: loongson - Remove broken and unused loongson-rng The loongson-rng rng_alg has several vulnerabilities, including not providing forward security, and a use-after-free bug due to the use of wait_for_completion_interruptible(). Meanwhile, the rng_alg framework doesn't really have any purpose in the first place other than to access the software algorithms crypto/drbg.c and crypto/jitterentropy.c. Hardware-specific rng_algs have no in-kernel user, and unlike hwrng there's no feed into the actual Linux RNG. As such, there's really no point to this code. There are of course other rng_alg drivers that are similarly unused, but they're similarly in the process of being phased out, e.g. https://lore.kernel.org/r/20260529193648.18172-1-ebiggers@kernel.org and https://lore.kernel.org/r/20260529220430.34135-1-ebiggers@kernel.org Given that, there's no point in fixing forward these vulnerabilities, and it makes much more sense to simply roll back the addition of this driver. If this platform provides TRNG (not PRNG) functionality, it could make sense to add a hwrng driver, but it would be quite different.

Affected products

Linux
  • <037ec8353711c79353b12d5634e0c9ff363a9efa
  • <43de8b9f01b7dd2f6ca5360c6bf2f203c02288dc
  • <6.18
  • <af3d1bb9a09daf928fc3f173689fb7904d6a6d4f
  • =<6.18.*
  • ==6.18
  • =<7.1.*
  • =<*
Dismissed
(max. allowed matches exceeded)
created 8 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
firmware: arm_ffa: Bound PARTITION_INFO_GET_REGS copies

In the Linux kernel, the following vulnerability has been resolved: firmware: arm_ffa: Bound PARTITION_INFO_GET_REGS copies The register-based PARTITION_INFO_GET path trusted the firmware-provided indices when copying partition descriptors into the caller buffer. Reject inconsistent counts or index progressions so the copy loop cannot write past the allocated array. (fixed cur_idx when exactly one descriptor in the first fragment)

Affected products

Linux
  • <3974ea1938406f9bfa7c1f48d4e43533f447bb08
  • <79d95c02ae0a95e6e80e8e92b7ca74ecee02854f
  • ==6.12
  • =<6.18.*
  • <6.12
  • =<7.0.*
  • =<*
  • <f39bc7ebe75e2186b417a024a7f7e2fd4cc7eb95
Dismissed
(max. allowed matches exceeded)
created 8 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
Bluetooth: btusb: fix use-after-free on registration failure

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btusb: fix use-after-free on registration failure Make sure to release the sibling interfaces in case controller registration fails to avoid use-after-free and double-free when they are eventually disconnected. This issue was reported by Sashiko while reviewing a fix for a wakeup source leak in the btusb probe errors paths.

Affected products

Linux
  • =<5.10.*
  • <14e02f1449ba425a44dedbec9a21efafb056e09f
  • <e09ac7d0c6859a360bf36e7104aef03f88184e0b
  • =<6.18.*
  • <e6313b800da61a26c2fdd5eba0105e197c0ab3bc
  • <1ce5012944afaddbda939ec6bae9800fce84abbc
  • =<6.12.*
  • <2.6.27
  • =<7.1.*
  • ==2.6.27
  • <da7d7758fe884b256ddc9fef562e5ddef7952383
  • =<6.1.*
  • <468fcdfaeb937163dd250773a9fed17ab1fa203c
  • <eedc6867ebad73edbfaf9a0a65fbef7115cc4753
  • =<6.6.*
  • =<5.15.*
  • =<*
  • <8db0ce3de78367f61c2970c0f16d9adee8830a23