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
gpio: mvebu: fix NULL pointer dereference in suspend/resume

In the Linux kernel, the following vulnerability has been resolved: gpio: mvebu: fix NULL pointer dereference in suspend/resume mvebu_pwm_suspend() and mvebu_pwm_resume() are called for all GPIO banks during suspend/resume, but not all banks have PWM functionality. GPIO banks without PWM have mvchip->mvpwm set to NULL. Calling mvebu_pwm_suspend() with mvpwm == NULL causes a NULL pointer dereference when it tries to access mvpwm->blink_select. Unable to handle kernel NULL pointer dereference at virtual address 00000020 when write [00000020] *pgd=00000000 Internal error: Oops: 815 [#1] PREEMPT ARM Modules linked in: CPU: 0 UID: 0 PID: 406 Comm: sh Not tainted 6.12.74-rt12-yocto-standard-g4e96f98fb7db-dirty #353 Hardware name: Marvell Armada 370/XP (Device Tree) PC is at regmap_mmio_read+0x38/0x54 LR is at regmap_mmio_read+0x38/0x54 pc : [<c05fd2ac>] lr : [<c05fd2ac>] psr: 200f0013 sp : f0c11d10 ip : 00000000 fp : c100d2f0 r10: c14fb854 r9 : 00000000 r8 : 00000000 r7 : c1799c00 r6 : 00000020 r5 : 00000020 r4 : c179c7c0 r3 : f0a231a0 r2 : 00000020 r1 : 00000020 r0 : 00000000 Flags: nzCv IRQs on FIQs on Mode SVC_32 ISA ARM Segment none Control: 10c5387d Table: 135ec059 DAC: 00000051 Call trace: regmap_mmio_read from _regmap_bus_reg_read+0x78/0xac _regmap_bus_reg_read from _regmap_read+0x60/0x154 _regmap_read from regmap_read+0x3c/0x60 regmap_read from mvebu_gpio_suspend+0xa4/0x14c mvebu_gpio_suspend from dpm_run_callback+0x54/0x180 dpm_run_callback from device_suspend+0x124/0x630 device_suspend from dpm_suspend+0x124/0x270 dpm_suspend from dpm_suspend_start+0x64/0x6c dpm_suspend_start from suspend_devices_and_enter+0x140/0x8e8 suspend_devices_and_enter from pm_suspend+0x2fc/0x308 pm_suspend from state_store+0x6c/0xc8 state_store from kernfs_fop_write_iter+0x10c/0x1f8 kernfs_fop_write_iter from vfs_write+0x270/0x468 vfs_write from ksys_write+0x70/0xf0 ksys_write from ret_fast_syscall+0x0/0x54 Add a NULL check for mvchip->mvpwm before calling the PWM suspend/resume functions.

Affected products

Linux
  • =<6.18.*
  • <4.12
  • =<6.6.*
  • <b9ad50d7505ebd48282ec3630258dc820fc85c81
  • =<6.12.*
  • =<7.0.*
  • <c9677a9274ffb44987ec209dc8ec9f2d34946956
  • ==4.12
  • <6136c1474db88272231573e222896e1998d34662
  • <7db09011ce62162d72897fc4856b4425245dfe35
  • <4ef24338eda3c7e96d6f94a988266ff16ed3985d
  • =<*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
netdev: fix double-free in netdev_nl_bind_rx_doit()

In the Linux kernel, the following vulnerability has been resolved: netdev: fix double-free in netdev_nl_bind_rx_doit() Sashiko flags that genlmsg_reply() always consumes the skb. The error path calls nlmsg_free(rsp) so we can't jump directly to it. Let's not unbind, just propagate the error to the user. This is the typical way of handling genlmsg_reply() failures. They shouldn't happen unless user does something silly like calling the kernel with an already-full rcvbuf.

Affected products

Linux
  • <e055ca9205d3eb6aec3e5fe4ecc18abbbf18c599
  • <9b019376cbee10c4f9184d1745fa37d156e36f30
  • =<6.18.*
  • ==6.12
  • <c299321bc6232770ce378d6fa6bc46004d2d7fdb
  • <c849de7d8757a7af801fc4a4058f71d481d367f2
  • =<6.12.*
  • =<7.0.*
  • <6.12
  • =<*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
accel/ivpu: Add bounds check for firmware runtime memory

In the Linux kernel, the following vulnerability has been resolved: accel/ivpu: Add bounds check for firmware runtime memory Validate that the firmware runtime memory specified in the image header is properly aligned and sized to hold the firmware image. This prevents errors during memory allocation and image transfer.

Affected products

Linux
  • <f8ab60ae9309e76d9a09c601c10cc222e25b3d5b
  • =<7.0.*
  • <6.19
  • ==6.19
  • <1d0b597facdd3c0239c88e8797c1014e1ea0ef15
  • =<*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
Bluetooth: L2CAP: reject BR/EDR signaling packets over MTUsig

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: L2CAP: reject BR/EDR signaling packets over MTUsig net/bluetooth/l2cap_core.c:l2cap_sig_channel() accepts BR/EDR signaling packets up to the channel MTU and dispatches each command without enforcing the signaling MTU (MTUsig). A Bluetooth BR/EDR peer within radio range can send a fixed-channel CID 0x0001 packet that is larger than MTUsig and contains many L2CAP_ECHO_REQ commands before pairing. In a real-radio stock-kernel run, one 681-byte signaling packet containing 168 zero-length ECHO_REQ commands made the target transmit 168 ECHO_RSP frames over about 220 ms. Impact: a Bluetooth BR/EDR peer within radio range, before pairing, can force 168 ECHO_RSP frames from one 681-byte fixed-channel signaling packet containing packed ECHO_REQ commands. Define Linux's BR/EDR signaling MTU as the spec minimum of 48 bytes and reject any larger signaling packet with one L2CAP_COMMAND_REJECT_RSP carrying L2CAP_REJ_MTU_EXCEEDED before any command is dispatched. The Bluetooth Core spec wording for MTUExceeded says the reject identifier shall match the first request command in the packet, and that packets containing only responses shall be silently discarded. Linux intentionally deviates from that prescription: silently discarding desynchronizes the peer because the remote stack never learns its responses were dropped, and locating the first request command requires walking command headers past MTUsig, i.e. processing bytes from a packet we have already decided is too large to process. We therefore always emit one reject and use the identifier from the first command header, a single fixed-offset byte read. The unrestricted BR/EDR signaling parser and ECHO_REQ response path both trace to the initial git import; no later introducing commit is available for a Fixes tag.

Affected products

Linux
  • <6.1.176
  • =<6.6.*
  • <5.10.259
  • <fa5823126239b3e453fac1a2fe50726c7f4a55e1
  • <5.15.210
  • =<6.18.*
  • <e2b8acf9405bd9b1baf1c54dc897b0905db689bf
  • <b20e8a98dd29b121f58fcdf51e8576119aba536a
  • <dedc92b96dc1d8919a3bdf2495ede68922ef7ebc
  • <a8335f3db15bd1e0e82e0db5d488fabc7d10d1ab
  • <e05c4ac575b457978a7ef441053394169084869c
  • =<5.10.*
  • =<*
  • <6.12.94
  • =<6.1.*
  • <214a2042b16b3c8d798a8b9ef9f36094f13a9859
  • <dd214733544427587a95f66dbf3adff072568990
  • <6.6.143
  • =<5.15.*
  • =<6.12.*
  • =<7.0.*
  • <7.0.13
  • <6.18.36
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
vsock/vmci: fix sk_ack_backlog leak on failed handshake

In the Linux kernel, the following vulnerability has been resolved: vsock/vmci: fix sk_ack_backlog leak on failed handshake When vmci_transport_recv_connecting_server() returns an error, vmci_transport_recv_listen() calls vsock_remove_pending() but never calls sk_acceptq_removed(). This leaves sk_ack_backlog incremented permanently. Repeated handshake failures (malformed packets, queue pair alloc failure, event subscribe failure) cause sk_ack_backlog to climb toward sk_max_ack_backlog. Once it reaches the limit the listener permanently refuses all new connections with -ECONNREFUSED, a silent denial of service requiring a process restart to recover. The two existing sk_acceptq_removed() calls in af_vsock.c do not cover this path: line 764 checks vsock_is_pending() which returns false after vsock_remove_pending(), and line 1889 is only reached on successful accept(). Fix by balancing sk_acceptq_added() with sk_acceptq_removed() on the error path.

Affected products

Linux
  • <3.9
  • =<*
  • =<6.18.*
  • =<6.1.*
  • <dfd853197615d322d3a88dbcab91fc0fd2096219
  • =<6.6.*
  • <9698582a4dd9c4a05889d7db96d4c0edc9e69cac
  • <cf7090e255d74c4b61c51f8ede9fcacdd8393b5b
  • <ba9ad6015937a5e46ba1a31370e3efdec8abbdcc
  • =<5.15.*
  • ==3.9
  • =<6.12.*
  • =<7.0.*
  • <c05fa14db43ebef3bd862ca9d073981c0358b3f0
  • <22c587aa3ab1ab5264daff3ec32136fd30436c13
  • <ea0b03d52881c12a8c634ea0d6cbfa61cefdb488
  • =<5.10.*
  • <bcb275626055df7f8f947f1a349754b4004d9a15
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
accel/ethosu: fix OOB write in ethosu_gem_cmdstream_copy_and_validate()

In the Linux kernel, the following vulnerability has been resolved: accel/ethosu: fix OOB write in ethosu_gem_cmdstream_copy_and_validate() The command stream parsing loop increments the index variable a second time when a 64-bit command word is encountered (bit 14 set), but does not re-check the loop bound before writing the second word: for (i = 0; i < size / 4; i++) { bocmds[i] = cmds[0]; if (cmd & 0x4000) { i++; bocmds[i] = cmds[1]; /* unchecked */ } } The buffer bocmds is backed by a DMA allocation of exactly size bytes from drm_gem_dma_create(ddev, size), giving valid indices [0, size/4-1]. When i == size/4 - 1 on entry to an iteration and bit 14 of cmds[0] is set, bocmds[size/4-1] is written in bounds, i is then incremented to size/4, and bocmds[size/4] writes four bytes past the end of the allocation. Userspace controls both the buffer contents and the size argument via the ioctl, making this a userspace-triggerable heap out-of-bounds write. Fix by checking the incremented index against the buffer bound before the second write and returning -EINVAL if the buffer is too small to contain the extended command.

Affected products

Linux
  • =<7.0.*
  • <6.19
  • ==6.19
  • <c0837b9cf6eabbad8b8cbddaff1a46a6d0a2e29d
  • <db6cb3e35cebf487f9a78ebd4cfa4b83708ff40d
  • =<*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
net/802/mrp: fix vector attribute parsing in mrp_pdu_parse_vecattr

In the Linux kernel, the following vulnerability has been resolved: net/802/mrp: fix vector attribute parsing in mrp_pdu_parse_vecattr In mrp_pdu_parse_vecattr(), vector attribute events are encoded three per byte and valen tracks the number of events left to process. The parser decrements valen after processing the first and second events from each event byte, but not after processing the third one. When valen is exactly a multiple of three, the loop continues after the last valid event and consumes the next byte as a new event byte, applying a spurious event to the MRP applicant state. Additionally, when valen is zero the parser unconditionally consumes attrlen bytes as FirstValue and advances the offset, even though per IEEE 802.1ak a VectorAttribute with only a LeaveAllEvent has valen of zero and no FirstValue or Vector fields. This corrupts the offset for subsequent PDU parsing. Also, when valen exceeds three the loop crosses byte boundaries but the attribute value is not incremented between the last event of one byte and the first event of the next. This causes the first event of the next byte to use the same attribute value as the third event rather than the next consecutive value. Decrement valen after processing the third event, skip FirstValue consumption when valen is zero, and increment the attribute value at the end of each loop iteration.

Affected products

Linux
  • <3.9
  • =<6.18.*
  • =<6.1.*
  • <7561c7fbc694308da73300f036719e63e42bf0b4
  • =<6.6.*
  • <36d259711872e3b2f6cd76a4d270c21931c0f35f
  • <42446ca0f3570663e87183c065e0b4def52dfba2
  • <6eea6494e542a03cdf755a593b7d74f3f7c260fd
  • =<6.12.*
  • =<7.0.*
  • ==3.9
  • <ae65714d96f68bb252eb20085320bdaacab36c00
  • =<5.15.*
  • <cc98717e591a963a616fdf15ecf48eefaf45d758
  • <6d6e42e8e17f18d61327f8653479c5b5e161ae1d
  • <fd9c3a47c670bec6b18f44454cea023f93b5adb3
  • =<5.10.*
  • =<*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
ALSA: seq: dummy: fix UMP event stack overread

In the Linux kernel, the following vulnerability has been resolved: ALSA: seq: dummy: fix UMP event stack overread The dummy sequencer port forwards events by copying an incoming struct snd_seq_event into a stack temporary, rewriting source and destination, and dispatching the temporary to subscribers. That legacy event storage is smaller than struct snd_seq_ump_event. When a UMP event reaches the dummy client, the copy leaves the UMP flag set but only provides legacy-sized stack storage. The subscriber delivery path then uses snd_seq_event_packet_size() and copies a UMP-sized packet from that stack object, reading past the end of the temporary. Use the existing union __snd_seq_event storage and copy the packet size reported for the incoming event before rewriting the common routing fields. This preserves the full UMP packet for UMP events while keeping legacy event handling unchanged.

Affected products

Linux
  • ==6.10
  • <a7ef78a2c536242ccb7a4429da01580b2409bb24
  • =<6.18.*
  • =<*
  • <2b5ff4db5d7aa5b981d966df02e687f79ad7b311
  • <6.10
  • =<7.0.*
  • =<6.12.*
  • <6671a46144f880c5a167930ebb14c12f3d059fe9
  • <6676b6063440561db600494049ce7ffb695c8cc4
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
gpio: rockchip: fix generic IRQ chip leak on remove

In the Linux kernel, the following vulnerability has been resolved: gpio: rockchip: fix generic IRQ chip leak on remove The driver allocates domain generic chips using irq_alloc_domain_generic_chips() during probe. However, on driver remove/teardown, the generic chips are not automatically freed when the IRQ domain is removed because the domain flags do not include IRQ_DOMAIN_FLAG_DESTROY_GC. This causes both the domain generic chips structure and the associated generic chips to be leaked. Additionally, the generic chips remain on the global gc_list and may later be visited by generic IRQ chip suspend, resume, or shutdown callbacks after the GPIO bank has been removed, potentially resulting in a use-after-free and kernel crash. Fix the resource leak by explicitly calling irq_domain_remove_generic_chips() before removing the IRQ domain in rockchip_gpio_remove().

Affected products

Linux
  • =<6.18.*
  • <bace7b99bfa555fe833aee8827b8004c43666d02
  • =<7.0.*
  • <1c1e0fc88d6ef65bf15d517853251f75ab9d18c3
  • <5.15
  • <1f34ea5f6114011092d9a5c8b901ad6741144a1d
  • ==5.15
  • =<*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
accel/ethosu: reject NPU_OP_RESIZE commands from userspace

In the Linux kernel, the following vulnerability has been resolved: accel/ethosu: reject NPU_OP_RESIZE commands from userspace NPU_OP_RESIZE is a U85-only command that the driver does not yet implement. The existing WARN_ON(1) placeholder fires unconditionally whenever userspace submits this command via DRM_IOCTL_ETHOSU_GEM_CREATE, causing unbounded kernel log spam. If panic_on_warn is set the kernel panics, giving any unprivileged user with access to the DRM device a trivial denial-of-service primitive. Replace the WARN_ON(1) with an explicit -EINVAL return so the ioctl rejects the command before it reaches hardware.

Affected products

Linux
  • <ef911805d86a05363d3ec2fa9835a41def83bb7e
  • <70090a32f56a4589e7e860e0f9a8fbe4417df0a1
  • =<7.0.*
  • <6.19
  • ==6.19
  • =<*