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 9 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
ALSA: cmipci: check snd_ctl_new1() return value

In the Linux kernel, the following vulnerability has been resolved: ALSA: cmipci: check snd_ctl_new1() return value snd_ctl_new1() can return NULL when memory allocation fails. snd_cmipci_spdif_controls() does not check the return value before dereferencing kctl->id.device, which can lead to a NULL pointer dereference. Add NULL checks after snd_ctl_new1() calls and return -ENOMEM if any fails.

Affected products

Linux
  • <6.1.178
  • <c205bd1b28fb7e5f1061a4e78813fad7d315cb3e
  • =<6.18.*
  • <af2b009b773bc42995546507963e5e78970dc3ed
  • ==6.4
  • =<6.12.*
  • <8825a06bfa7932a7a74dec01669d405df0b47286
  • <6.4
  • =<7.1.*
  • <67e9ea92cd598cba1783ff701553c776a6cedee9
  • =<6.1.*
  • =<*
  • =<6.6.*
  • <b44888c33c4f11277d0e5e023338f2740232a4ed
  • ==7bf12707fa3db4c14fbe8ab93efb421d8ca93bf8
  • <4dd5b0b1a52a8d6e59a3f217204817228ce0238b
  • <6.4
Dismissed
(max. allowed matches exceeded)
created 9 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
USB: iowarrior: fix use-after-free on disconnect race

In the Linux kernel, the following vulnerability has been resolved: USB: iowarrior: fix use-after-free on disconnect race mutex_unlock() may access the mutex structure after releasing the lock and therefore cannot be used to manage lifetime of objects directly (unlike spinlocks and refcounts). [1][2] Use a kref to release the driver data to avoid use-after-free in mutex_unlock() when release() races with disconnect(). [1] a51749ab34d9 ("locking/mutex: Document that mutex_unlock() is non-atomic") [2] 2b9d9e0a9ba0 ("locking/mutex: Clarify that mutex_unlock(), and most other sleeping locks, can still use the lock object after it's unlocked")

Affected products

Linux
  • ==2.6.21
  • <71590982700fdeb39a37a500c877228b0140978e
  • =<6.12.*
  • <3c0a7b29ebb391d5f50b115e86f842b709195b08
  • =<7.1.*
  • =<*
  • <c602254ba4c10f60a73cd99d147874f86a3f485c
  • <2.6.21
Dismissed
(max. allowed matches exceeded)
created 9 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
fuse: clear intr_entry in fuse_resend and fuse_remove_pending_req

In the Linux kernel, the following vulnerability has been resolved: fuse: clear intr_entry in fuse_resend and fuse_remove_pending_req When fuse_resend() moves a request from fpq->processing back to fiq->pending, it sets FR_PENDING and clears FR_SENT but does not remove the requests intr_entry from fiq->interrupts. If the request had FR_INTERRUPTED set from a prior signal, intr_entry remains dangling on fiq->interrupts. When the requesting task then receives a fatal signal, fuse_remove_pending_req() sees FR_PENDING=1, removes the request from fiq->pending and frees it via the refcount path, also without cleaning intr_entry. The stale intr_entry causes use-after-free when fuse_read_interrupt() iterates fiq->interrupts: - list_del_init(&req->intr_entry) -> UAF write on freed slab - req->in.h.unique -> UAF read, data leaked to userspace Remove intr_entry from fiq->interrupts in fuse_resend() for interrupted requests before they are placed back on fiq->pending. Add a WARN_ON if the intr_entry is not empty on request destruction.

Affected products

Linux
  • <f8fce75fedf73ac72aa09163deb8f4291fdcaad2
  • =<6.18.*
  • <6.9
  • =<6.12.*
  • <893479015cb6442fd389d3b553ab3036c9541715
  • =<7.1.*
  • =<*
  • <1d8ecd0cd696a5df0b2f72046a4ccee5d2a8ec2c
  • ==6.9
  • <7366e6f4d2b4c7002b13fb01219e83679dad4127
Dismissed
(max. allowed matches exceeded)
created 9 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
ksmbd: serialize QUERY_DIRECTORY requests per file

In the Linux kernel, the following vulnerability has been resolved: ksmbd: serialize QUERY_DIRECTORY requests per file smb2_query_dir() stores a pointer to its stack-allocated private data in the ksmbd_file readdir_data. Concurrent QUERY_DIRECTORY requests using the same file handle can overwrite this pointer while an iterate_dir() callback is still using it, resulting in a stack use-after-free. Add a per-file mutex and hold it while accessing the shared directory enumeration state. The lock covers scan restart, dot entry state, readdir_data setup and iteration, and response construction. This prevents another request from replacing readdir_data.private before the current request has finished using it and also serializes the shared file position.

Affected products

Linux
  • <2a64dbf9c739ddf7a25a066507597bf89f8f73d2
  • <1426fd79102539bc0ab5c8fced047ad4313b9908
  • <6.1.178
  • <64dac2d486ec1eb18dc00968b16a230b6b75ec24
  • =<6.18.*
  • <6.12.96
  • <be6d26bf27499977c746abc163659915082348d8
  • =<6.12.*
  • <6.6.145
  • =<7.1.*
  • =<6.1.*
  • <a1d5d31cad593ea5e1b637f2f39c9ef6d09d1199
  • =<6.6.*
  • <7.1.4
  • =<*
  • <6.18.39
  • <fd22b039a5a05bc1d6818e9dcd1001fb432a829d
Dismissed
(max. allowed matches exceeded)
created 9 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
bpf: Validate BTF repeated field counts before expansion

In the Linux kernel, the following vulnerability has been resolved: bpf: Validate BTF repeated field counts before expansion btf_parse_struct_metas() walks user-supplied BTF during BPF_BTF_LOAD, and btf_repeat_fields() expands repeatable fields from array elements into the fixed BTF_FIELDS_MAX scratch array used by btf_parse_fields(). The remaining-capacity check performs the expanded field count calculation in u32. A malformed BTF can wrap that calculation, causing the check to pass even when the expanded field count exceeds the scratch array capacity. The following memcpy() can then write past the end of the array. Use checked addition and multiplication before copying repeated fields and reject impossible counts.

Affected products

Linux
  • ==6.12
  • =<6.18.*
  • <c5ff816d5f13900c3f1f3298cfcc61339e056e56
  • <6.12
  • <ff77d013b737c0f77d925e2f2c59f0cf3d76bd35
  • <cd407de2ef5dc70f1970b343ffaa16186340fdfd
  • =<6.12.*
  • <b9452b594fd3aecbfd4aa0a6a1f741330a37dab7
  • ==6f957d972feee9b385ea3ae6530310a84e55ba71
  • =<7.1.*
  • =<*
  • <6.12
Dismissed
(max. allowed matches exceeded)
created 9 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
nvmet: fix pre-auth out-of-bounds heap read in Discovery Get Log Page

In the Linux kernel, the following vulnerability has been resolved: nvmet: fix pre-auth out-of-bounds heap read in Discovery Get Log Page nvmet_execute_disc_get_log_page() validates only the dword alignment of the host-supplied Log Page Offset (lpo). The 64-bit offset is then added to a small kzalloc'd buffer that holds the discovery log page and the result is passed straight to nvmet_copy_to_sgl(), which memcpy()s data_len bytes out to the host with no source-side bound check: u64 offset = nvmet_get_log_page_offset(req->cmd); /* 64-bit host */ size_t data_len = nvmet_get_log_page_len(req->cmd); /* 32-bit host */ ... if (offset & 0x3) { ... } /* only check */ ... alloc_len = sizeof(*hdr) + entry_size * discovery_log_entries(req); buffer = kzalloc(alloc_len, GFP_KERNEL); ... status = nvmet_copy_to_sgl(req, 0, buffer + offset, data_len); The Discovery controller is unauthenticated -- nvmet_host_allowed() returns true unconditionally for the discovery subsystem -- so the call is reachable pre-authentication by any TCP/RDMA/FC peer that can reach the nvmet target. With a discovery log page of ~1 KiB, an attacker requesting up to 4 KiB starting at offset == alloc_len reads the next slab page out and gets its content returned over the fabric (an empirical run on a default nvmet-tcp loopback target leaked 81 canonical kernel pointers in one Get Log Page response). Pointing the offset at unmapped kernel memory faults the in-kernel memcpy and crashes (or panics, on panic_on_oops=1) the target host instead. The attacker-controlled source-side offset pattern "nvmet_copy_to_sgl(req, 0, buffer + ATTACKER_OFFSET, ...)" is unique to nvmet_execute_disc_get_log_page in the entire nvmet codebase: every other Get Log Page handler in admin-cmd.c either ignores lpo (and silently starts every response at offset 0) or tracks a local destination offset with a fixed source pointer. Validate the host-supplied offset against the log page size, cap the copy length to what is actually available, and zero-fill any remainder of the host transfer buffer. The zero-fill matches the existing short-response pattern in nvmet_execute_get_log_changed_ns() (admin-cmd.c) and prevents leaking transport SGL contents when the host asks for more bytes than the log page contains.

Affected products

Linux
  • <56c021a0869260d04c4b65d1471936aaf9177114
  • ==4.8
  • =<6.18.*
  • =<6.12.*
  • =<7.1.*
  • =<*
  • <53cd102a7a56079b11b897835bd9b94c14e6322c
  • <33b974eb626154ae9348f2bac7de84cb2a3d9dd4
  • <a29b316b9bbfd269f323ab4ba9906a894025680f
  • <4.8
Dismissed
(max. allowed matches exceeded)
created 9 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
mm/slab: do not limit zeroing to orig_size when only red zoning is enabled

In the Linux kernel, the following vulnerability has been resolved: mm/slab: do not limit zeroing to orig_size when only red zoning is enabled When init (zeroing) on allocation is requested, for kmalloc() we generally have to zero the full object size even if a smaller size is requested, in order to provide krealloc()'s __GFP_ZERO guarantees. But if we track the requested size, krealloc() uses that information to do the right thing, so we can zero only the requested size. With red zoning also enabled, any extra size became part of the red zone, so it must not be zeroed and thus we must zero only the requested size. However the current check is imprecise, and will trigger also when only SLAB_RED_ZONE is enabled without SLAB_STORE_USER (which enables tracking the requested size). This means enabling red zoning alone can compromise krealloc()'s __GFP_ZERO contract. Fix this by using slub_debug_orig_size() instead, which is the exact check for whether the requested size is tracked. We don't need to care if red zoning is also enabled or not. Also update and expand the comment accordingly.

Affected products

Linux
  • ==6.2
  • =<6.18.*
  • <6256899c3a34674bba6076884aedbba49fc695e4
  • =<6.12.*
  • =<7.1.*
  • =<*
  • <648927ceb84021a25a0fbd5673740956f318d534
  • <7e706d50fa119eead6376bf0ef973e8d73a96030
  • =<6.6.*
  • <6.2
  • <2382971aaaef5bf85a651234c64906f59580b8be
  • <0d18ccef142f04433dfb2a0c120cf223d2b8a42c
Dismissed
(max. allowed matches exceeded)
created 9 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
netfilter: ebtables: module names must be null-terminated

In the Linux kernel, the following vulnerability has been resolved: netfilter: ebtables: module names must be null-terminated We need to explicitly check the length, else we may pass non-null terminated string to request_module().

Affected products

Linux
  • ==4.6
  • <4.6
  • <0ddca0f90fa3395111d078ae4399615cf3ea94aa
  • <13a5f532e3a4fc75c33060a026def1572c208643
  • =<6.18.*
  • <43dd2332b8a27b3ac5108791680cade654ab0f96
  • <d2367d99f2455f373996d9ddbe833dbe9f942213
  • <7b217960e88b5d2d1e8cdcbcaf3bdf6fe199a0c8
  • =<6.12.*
  • =<7.1.*
  • =<6.1.*
  • =<*
  • =<6.6.*
  • =<5.15.*
  • <da32e78bbb187ed7b137e0007034185570a3a172
  • <5777c8f1c3610786d8482b8f620f40fccaf1542b
  • =<5.10.*
  • <084d23f818321390509e9738a0b08bbf46df6425
Dismissed
(max. allowed matches exceeded)
created 9 hours 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
  • <14143ec10d69f42806b5d7b046f0fd1b835831ae
  • =<6.18.*
  • <ee9eb72be95490602c493db050c73d925c3a4d74
  • <a3bb136bff5e6a5e48cdd813246c9c4686feaaa9
  • =<7.0.*
  • <9c92b42207978559e32903c3098aaf5c5b5788b2
  • =<6.12.*
  • <2.6.27
  • <f4c3e63fa8639aedf96fb200d9939945a9eed51e
  • ==2.6.27
  • =<6.1.*
  • =<*
  • =<6.6.*
  • <9fd48937046efc9abb89379d63ee9cc5c661d711
  • =<5.15.*
  • <a9c22e0f93ba18322a6623ecdda2f0cd858ca350
  • <10014eb7eee351f7b587f8ac85830f0c9343cb9a
  • =<5.10.*
Dismissed
(max. allowed matches exceeded)
created 9 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
ksmbd: add a permission check for FSCTL_SET_ZERO_DATA

In the Linux kernel, the following vulnerability has been resolved: ksmbd: add a permission check for FSCTL_SET_ZERO_DATA FSCTL_SET_ZERO_DATA in smb2_ioctl() destroys file data via ksmbd_vfs_zero_data() -> vfs_fallocate(PUNCH_HOLE/ZERO_RANGE) after checking only the share-level KSMBD_TREE_CONN_FLAG_WRITABLE, with no per-handle access check. A handle opened with only FILE_WRITE_ATTRIBUTES still yields an FMODE_WRITE filp (FILE_WRITE_ATTRIBUTES is part of FILE_WRITE_DESIRE_ACCESS_LE, so smb2_create_open_flags() opens it O_WRONLY), so the vfs_fallocate FMODE_WRITE check does not stop it; only the missing fp->daccess gate would. Reproduced on mainline 7.1-rc7 with KASAN by an authenticated SMB client: a FILE_WRITE_ATTRIBUTES-only handle zeroed 4096 bytes of file data it had no FILE_WRITE_DATA right to (6/6; a FILE_READ_DATA-only handle was correctly denied). This is the unfixed sibling of commit cc57232cae23 ("ksmbd: fix FSCTL permission bypass by adding a permission check for FSCTL_SET_SPARSE"). Because SET_ZERO_DATA writes data (not an attribute), require FILE_WRITE_DATA.

Affected products

Linux
  • <ca53bb17f4e8232cfaece3953d3cef62c559b039
  • <6.1.178
  • =<6.18.*
  • <deffa929086d7902e30918adf3dd27ccfe9c08b1
  • <6.12.96
  • <3072d82461f498c85daea8766e9d8bfbada31605
  • =<6.12.*
  • <6.6.145
  • =<7.1.*
  • <57f2042fd87d7ce8fc3ac8b6c176e554df68b1a7
  • =<6.1.*
  • <3320ba068198adc144c89d6661b805acce01735b
  • =<6.6.*
  • <7.1.4
  • =<*
  • <25377f369688dd0bd814dc8965ed26d44238ecaa
  • <6.18.39