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 1 month, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
KVM: arm64: Bound used_lrs when flushing the pKVM hyp vCPU

In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: Bound used_lrs when flushing the pKVM hyp vCPU flush_hyp_vcpu() copies the host vGIC state into the hyp's private vCPU on every run. The vGIC list register save and restore use used_lrs as their loop bound and expect it to stay within the number of implemented list registers. While this is generally the case, flush_hyp_vcpu() copies vgic_v3 verbatim and does not enforce this, so a value provided by the host is used at EL2 to index vgic_lr[] and access ICH_LR<n>_EL2 (host -> EL2). Fix by clamping used_lrs to the number of implemented list registers after the copy, as the trusted path already does in vgic_flush_lr_state(). The number of implemented list registers is constant after init, so it is replicated once from kvm_vgic_global_state.nr_lr into hyp_gicv3_nr_lr rather than read on every entry.

Affected products

Linux
  • ==6.2
  • =<*
  • =<7.1.*
  • =<6.18.*
  • <9fa301d8298778dd799fa4dcf7a7f440715d146e
  • <8cc8bbbfab14c22c5551d0dd19b208a44b141c76
  • <2c5e72b9fbf83fdfa724e9f1af0f418ccf8739b8
  • <7fca3fcef81c713bc82a37bf741e0f28e6d04a6f
  • <6.2
  • =<6.6.*
  • =<6.12.*
  • <c646431865f4b1a5b14067233fa27b11e05e0d46
Dismissed
(max. allowed matches exceeded)
created 1 month, 1 week 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
  • =<7.1.*
  • <af3d1bb9a09daf928fc3f173689fb7904d6a6d4f
  • <43de8b9f01b7dd2f6ca5360c6bf2f203c02288dc
  • =<*
  • <6.18
  • =<6.18.*
  • <037ec8353711c79353b12d5634e0c9ff363a9efa
  • ==6.18
Dismissed
(max. allowed matches exceeded)
created 1 month, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
Input: touchwin - reset the packet index on every complete packet

In the Linux kernel, the following vulnerability has been resolved: Input: touchwin - reset the packet index on every complete packet tw_interrupt() accumulates each non-zero serial byte into a fixed three-byte buffer with a running index that is only reset once a full packet has been received *and* the device's two Y bytes agree: tw->data[tw->idx++] = data; if (tw->idx == TW_LENGTH && tw->data[1] == tw->data[2]) { ... tw->idx = 0; } The reset is gated on tw->data[1] == tw->data[2], a value the device controls. A malicious, malfunctioning or counterfeit Touchwindow peripheral can stream non-zero bytes whose 2nd and 3rd bytes differ: the index reaches TW_LENGTH without the equality holding, is never reset, and keeps growing, so tw->data[tw->idx++] walks off the end of the three-byte array and the rest of the heap-allocated struct tw, one attacker-chosen byte at a time -- an unbounded, device-driven heap out-of-bounds write. Reset the index on every completed packet and report an event only when the two Y bytes match, like the other serio touchscreen drivers do.

Affected products

Linux
  • <70e4248793762df9832fd4fc2fc6ac7924572c36
  • <478cdd736f2ce3114f90e775d7358136d3977b94
  • ==2.6.19
  • =<6.1.*
  • =<7.1.*
  • <431ad239f2924dff337c3fccb9246597c1b63185
  • =<*
  • <6c9f29f128dd4057404838259af4c645318487e1
  • <2.6.19
  • =<5.10.*
  • =<5.15.*
  • =<6.18.*
  • <ed9b66905407eb3d02df1aaeed82eb7a7f0eb508
  • =<6.6.*
  • =<6.12.*
  • <3e6f007b43e2fc6546e21fa74ee62c38984a6672
  • <044167cba2384bcd783547ad5e30ecd292b30919
  • <a8d87184576c889759e3aab899799a482f1e1a5b
Dismissed
(max. allowed matches exceeded)
created 1 month, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
ksmbd: require source read access for duplicate extents

In the Linux kernel, the following vulnerability has been resolved: ksmbd: require source read access for duplicate extents FSCTL_DUPLICATE_EXTENTS_TO_FILE passes the source file directly to vfs_clone_file_range() or vfs_copy_file_range() without checking the SMB access mask granted to the source handle. A handle opened with attribute access can consequently be used to copy file contents into an attacker-readable destination. Require FILE_READ_DATA on the source handle before either VFS operation, matching other ksmbd data-copy paths.

Affected products

Linux
  • <67bdad9cf01b25030e3bf00bbce6c309319d6663
  • =<6.1.*
  • <6.1.178
  • =<7.1.*
  • =<*
  • <6.18.39
  • <db231af842868268839f9f9619c68cb27830d8be
  • <a10942af27832c2761d020863a46e79bebe0567d
  • <7.1.4
  • <cedff600f1642aa982178503552f0d007bc829c8
  • =<6.18.*
  • <6.12.96
  • =<6.12.*
  • =<6.6.*
  • <6.6.145
  • <b0d4d5cb846a1ddb7aaab9adfb5986e4540e6e5f
  • <2d2ab6983620c2d60ce7db72133984ca3873b929
Dismissed
(max. allowed matches exceeded)
created 1 month, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
i2c: core: fix adapter deregistration race

In the Linux kernel, the following vulnerability has been resolved: i2c: core: fix adapter deregistration race Adapters can be looked up by their id using i2c_get_adapter() which takes a reference to the embedded struct device. Remove the adapter from the IDR before tearing it down during deregistration (and on registration failure) to make sure its resources are not accessed after having been freed (e.g. the device name).

Affected products

Linux
  • <2.6.31
  • =<6.1.*
  • =<7.1.*
  • =<*
  • <b1a58ed9eab146b36f41a55db8f5d7ce9fdedf3f
  • =<5.15.*
  • <b6d2af6fe9c1f5ec0484536753c979cbd40a8ac3
  • ==2.6.31
  • =<6.18.*
  • <bb234487a447a99315add1b46aa57b72e163e1eb
  • =<6.6.*
  • <9882a9bd74db08e7bae5821a7050627ae92d3380
  • <11dfa37bf544cc806f21742ca2fd2d841bd7032e
  • =<6.12.*
  • <d39282f552dd6c35b9b84b4af78f1198c24f3373
  • <35dbd1f1f603401155cbd3a180bb18e3a3b675b8
Dismissed
(max. allowed matches exceeded)
created 1 month, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
fuse: re-lock request before returning from fuse_ref_folio()

In the Linux kernel, the following vulnerability has been resolved: fuse: re-lock request before returning from fuse_ref_folio() fuse_ref_folio() unlocks the request but does not re-lock it before returning. fuse_chan_abort() can end the request and the async end callback (eg fuse_writepage_free()) can free the args while the subsequent copy chain logic after fuse_ref_folio() accesses them, leading to use-after-free issues. Fix this by locking the request in fuse_ref_folio() before returning.

Affected products

Linux
  • <1ca605cfa59377f0143fb35b5b01360f37d1b7c4
  • <e6aa539720c3d8def69683ed0c07cf9faea4e8be
  • <b5befa80fdbe287a98480effed9564712924add5
  • =<6.1.*
  • =<7.1.*
  • =<*
  • <be353caffa8640f5e25fb3714ce8b0cef5e410e5
  • =<5.15.*
  • =<5.10.*
  • <65a1c2551f7e16085acbb54aedde1feaa559ba7a
  • =<6.18.*
  • <5630da218a45ba80f0aba0846cbe8aa655da122b
  • =<6.6.*
  • =<6.12.*
  • <1f9156714592356b4fda57beac7eab9c2a462dd3
  • <2.6.35
  • ==2.6.35
  • <0e4a5a000123d81234e27a2f8187688cf608f755
Dismissed
(max. allowed matches exceeded)
created 1 month, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
tty: serial: samsung: Remove redundant port lock acquisition in rx helpers

In the Linux kernel, the following vulnerability has been resolved: tty: serial: samsung: Remove redundant port lock acquisition in rx helpers Sashiko identified a deadlock when the console flow is engaged [1]. When console flow control is enabled (UPF_CONS_FLOW), s3c24xx_serial_stop_tx() calls s3c24xx_serial_rx_enable() and s3c24xx_serial_start_tx() calls s3c24xx_serial_rx_disable(). The serial core framework invokes the .stop_tx() and .start_tx() callbacks with the port->lock spinlock already held. Furthermore, all internal driver paths that invoke stop_tx (such as the DMA TX completion handler s3c24xx_serial_tx_dma_complete() or the PIO TX IRQ handler s3c24xx_serial_tx_irq()) also acquire port->lock prior to calling it. (Note that s3c24xx_serial_start_tx() is only invoked by the serial core). However, s3c24xx_serial_rx_enable() and s3c24xx_serial_rx_disable() unconditionally attempt to acquire port->lock again using uart_port_lock_irqsave(). Since spinlocks are not recursive, this causes a deadlock on the same CPU when console flow control is engaged. Remove the redundant lock acquisition from both rx helper functions.

Affected products

Linux
  • <10014eb7eee351f7b587f8ac85830f0c9343cb9a
  • <a9c22e0f93ba18322a6623ecdda2f0cd858ca350
  • =<6.1.*
  • =<*
  • <2.6.27
  • <9fd48937046efc9abb89379d63ee9cc5c661d711
  • <9c92b42207978559e32903c3098aaf5c5b5788b2
  • =<5.10.*
  • =<5.15.*
  • =<6.18.*
  • <14143ec10d69f42806b5d7b046f0fd1b835831ae
  • =<6.6.*
  • <ee9eb72be95490602c493db050c73d925c3a4d74
  • =<6.12.*
  • <f4c3e63fa8639aedf96fb200d9939945a9eed51e
  • =<7.0.*
  • <a3bb136bff5e6a5e48cdd813246c9c4686feaaa9
  • ==2.6.27
Dismissed
(max. allowed matches exceeded)
created 1 month, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
Bluetooth: bnep: pin L2CAP connection during netdev registration

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: bnep: pin L2CAP connection during netdev registration bnep_add_connection() reads the L2CAP connection without holding the channel lock, then passes its HCI device to register_netdev(). Controller teardown can clear and release that connection concurrently, leaving the network device registration path to dereference a freed parent device. Take a reference to the L2CAP connection while holding the channel lock. Retain it until register_netdev() has taken the parent device reference.

Affected products

Linux
  • <46a88784c4c9b96954dd86f747ce93f65efa1302
  • <563a8573047182f550b1e1e030615755cd8c41da
  • <390b5db3ff8745187f094c4e915663b7b1f98944
  • =<6.1.*
  • =<7.1.*
  • =<*
  • =<5.15.*
  • =<5.10.*
  • <ae215c5b6422d8eda443b861b124bd1be6969c31
  • =<6.18.*
  • <df22adc7eafc22e651561813c11dc51a796b12ee
  • <a6b22dbd80926556290ad2243be25218d6956a19
  • <bb067a99a0356196c0b89a95721985485ebce5a5
  • =<6.6.*
  • =<6.12.*
  • ==3.13
  • <551ae773ec64045b4e72099132654887e0270bcc
  • <3.13
Dismissed
(max. allowed matches exceeded)
created 1 month, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
Input: synaptics-rmi4 - bound the F30 keymap to the GPIO/LED count

In the Linux kernel, the following vulnerability has been resolved: Input: synaptics-rmi4 - bound the F30 keymap to the GPIO/LED count rmi_f30_map_gpios() allocates gpioled_key_map with min(gpioled_count, TRACKSTICK_RANGE_END) == at most 6 entries, but rmi_f30_attention() iterates the full f30->gpioled_count (device query register, range 0..31) and dereferences gpioled_key_map[i], and input->keycodemax is set to the full gpioled_count while input->keycode points at the 6-entry allocation. A device that reports gpioled_count > 6 with GPIO support enabled therefore causes an out-of-bounds read on the attention interrupt and out-of-bounds read/write through the EVIOCGKEYCODE/EVIOCSKEYCODE ioctls, which bound the index only against keycodemax. This is the same defect as the F3A handler, which was copied from F30. Size the keymap for the full gpioled_count; the mapping loop still assigns only the first min(gpioled_count, TRACKSTICK_RANGE_END) entries.

Affected products

Linux
  • <4e3689c26854356f41fbaa1eafa382e58ac79e00
  • <e849c6f51e6877104c765da084e001ec37c8e119
  • <4.14
  • =<7.1.*
  • =<*
  • =<6.1.*
  • <26c895928d7118436a24f564587cb4aefc40cdd8
  • =<5.15.*
  • =<5.10.*
  • <bfe622efecd4ff0a792d0ecd1a8dce535a902f50
  • <f0be9eba946e9200b43265e0a748d38bd0a56954
  • <8c6d18d61bb6fe0e6edf848413391c590552e8a9
  • <d162a1ead7de404d8b41a093c83ed0db6487cded
  • =<6.18.*
  • =<6.12.*
  • =<6.6.*
  • <d577e46785d45484b2ab7e7309c49b18764bf56c
  • ==4.14
Dismissed
(max. allowed matches exceeded)
created 1 month, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
iio: chemical: scd30: Cleanup initializations and fix sign-extension bug

In the Linux kernel, the following vulnerability has been resolved: iio: chemical: scd30: Cleanup initializations and fix sign-extension bug Include linux/bitfield.h for FIELD_GET(). Create new macros for bit manipulation in combination with manual bit manipulation being replaced with FIELD_GET(). The current variable declaration and initializations are barely readable and use comma separations across multiple lines. Refactor the initializations so that mantissa and exp have separate declarations and sign gets initialized later. In addition (and due to the nature of the cleanup), fix a sign-extension bug where, float32 would get bitwise anded with ~BIT(31) (which is 0xFFFFFFFF7FFFFFFF) which corrupted the exponent.

Affected products

Linux
  • <5.9
  • =<6.1.*
  • <82accdd57404399eddf3d56fd9beda7c61307388
  • =<7.1.*
  • =<*
  • <40bb0fdb37f441c9c9f52bf58bbd8a0ca3cc9598
  • <60d877910a43c305b5165131b258a17b1d772d57
  • =<5.10.*
  • =<5.15.*
  • =<6.18.*
  • <d49ff54b2784aa56a7c97982de713604de89d23a
  • =<6.6.*
  • <b131f0011dfef72350f4e3f11df94dc3e6b46065
  • <0ccff849bde90973e6c13a666f6ceab5c55b30d4
  • ==5.9
  • =<6.12.*
  • <8d4a46e971cf846bda98b20d4cabfa21c1276e5f
  • <1821bcacd8ac5b214c53be16cbb8172bf193f0b6