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 22 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
smb: client: fix query_info() replay double-free

In the Linux kernel, the following vulnerability has been resolved: smb: client: fix query_info() replay double-free A response-bearing attempt can return a replayable error and free its response buffer. If SMB2_query_info_init() fails before the next send, cleanup retains the previous buffer type and frees that response again. Reset response bookkeeping before each attempt to prevent the stale free.

Affected products

Linux
  • <6.8
  • =<6.18.*
  • <100fb7c455fa86d248b8bd7bb9de757c192870b4
  • =<6.12.*
  • <3c81dda84799f76b42aec598564316e2964440db
  • <6.6.145
  • =<7.1.*
  • ==6.8
  • =<6.6.*
  • =<*
  • <89234773e8348918111aa15f6922b58cf3843364
  • <f1add4acb656f5a82806a1ab0e63fed3d8b1bfca
  • <2a88561d66eb855813cf004a0abe648bbb17de5e
Dismissed
(max. allowed matches exceeded)
created 22 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
fpga: dfl-afu: validate DMA mapping length in afu_dma_map_region()

In the Linux kernel, the following vulnerability has been resolved: fpga: dfl-afu: validate DMA mapping length in afu_dma_map_region() afu_ioctl_dma_map() accepts a 64-bit length from userspace via DFL_FPGA_PORT_DMA_MAP ioctl without an upper bound check. The value is passed to afu_dma_pin_pages() where npages is derived as length >> PAGE_SHIFT and passed to pin_user_pages_fast() which takes int nr_pages, causing implicit truncation if length is very large. Validate map.length at the ioctl entry point before calling afu_dma_map_region(), rejecting values whose page count exceeds INT_MAX.

Affected products

Linux
  • <59070040fd12e0b78d7b4d341d9f9a183237c5ff
  • =<6.18.*
  • <4.19
  • =<7.1.*
  • <fc3b071a7c8dc0f5d56defddf6e6fd5aaa3e1e27
  • =<*
  • <fb2c0eab51ae5b02d2bae7d67c2cfbec39b57231
  • ==4.19
Dismissed
(max. allowed matches exceeded)
created 22 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
netfilter: ebtables: terminate table name before find_table_lock()

In the Linux kernel, the following vulnerability has been resolved: netfilter: ebtables: terminate table name before find_table_lock() update_counters() and compat_update_counters() forward a user-supplied 32-byte table name to find_table_lock() without NUL-terminating it. On a lookup miss, find_inlist_lock() calls try_then_request_module(..., "%s%s", "ebtable_", name), and vsnprintf() reads past the name field and the stack object until it hits a zero byte. BUG: KASAN: stack-out-of-bounds in string (lib/vsprintf.c:648 lib/vsprintf.c:730) Read of size 1 at addr ffff8880119dfb20 by task exploit/147 Call Trace: ... string (lib/vsprintf.c:648 lib/vsprintf.c:730) vsnprintf (lib/vsprintf.c:2945) __request_module (kernel/module/kmod.c:150) do_update_counters.isra.0 (net/bridge/netfilter/ebtables.c:371 net/bridge/netfilter/ebtables.c:380) update_counters (net/bridge/netfilter/ebtables.c:1440) do_ebt_set_ctl (net/bridge/netfilter/ebtables.c:2573) nf_setsockopt (net/netfilter/nf_sockopt.c:101) ip_setsockopt (net/ipv4/ip_sockglue.c:1424) raw_setsockopt (net/ipv4/raw.c:847) __sys_setsockopt (net/socket.c:2393) ... compat_do_replace() shares the same unterminated name via compat_copy_ebt_replace_from_user(); terminate it there too so all find_table_lock() callers behave alike. The other callers already terminate the name after the copy.

Affected products

Linux
  • =<5.10.*
  • <a622d2e9608c9dff47fc2e5759ac7aa3a836b45d
  • <c6f539311e58e76aa96feef0f1572b13a564f8a2
  • <ab63ccefb9c71627f957a0724c2b9ebc869c6f20
  • <2664f537ca5bcb2ef3fac2683dcca602e51fad24
  • =<6.18.*
  • =<6.12.*
  • =<7.1.*
  • <2.6.12
  • =<6.1.*
  • =<*
  • <4c046ca4e35a83ea32f6e748f54139f5fe2a1d01
  • ==2.6.12
  • =<6.6.*
  • =<5.15.*
  • <6fe8d3cecd20bfaaaf440db3a06ba674d2f2e322
  • <b6183b1b88a722b6d8ea0cecc99eba168a15e0be
  • <7436da6c1bc44654b7f11a17e746f6999fd37250
Dismissed
(max. allowed matches exceeded)
created 22 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
usb: gadget: f_printer: take kref only for successful open

In the Linux kernel, the following vulnerability has been resolved: usb: gadget: f_printer: take kref only for successful open printer_open() returns -EBUSY when the character device is already open, but it increments dev->kref regardless of the return value. VFS does not call ->release() for a failed open, so every rejected second open permanently leaks one reference. Move kref_get() into the successful-open branch.

Affected products

Linux
  • ==25c95c6bd4dc50a3c20de0fa7f450ea02b2320fc
  • =<7.1.*
  • ==cedb0187b8ba929c3f76f28e6bc25804d65f8a54
  • ==4a47581cf010dc351d8069978080fdb000c0776d
  • ==5.10
  • ==34f026263889e2827e04acdc3a0eb9ecbd191ef0
  • =<5.10.*
  • <75c0ad13e136961328253742501b4efc3988a587
  • <4.20
  • <94ec20d97aa51547965a539f660a1fe79c6929a3
  • <7f1f24c367938c5537e2308bf9a965f051d14774
  • <4.5
  • <30adce93d5c4a5a1ec29d9249e3fdfcc391d406b
  • <5.9
  • <4.15
  • <4.10
  • ==e9e791f5c39ab30e374a3b1a9c25ca7ff24988f3
  • <5.10
  • =<6.6.*
  • <8a5eba992c862b0c94411eecf9b7121e8636db38
  • <5.5
  • ==5f845e5d18d151230476cf90aa46449f69ba2ef1
  • ==d9fe88b2a38dc700bf5bd3a09c7cd11bbc248367
  • <5.10
  • =<6.18.*
  • <bf20c94fa6aaff945f0ae3a23f3212cd299f28d9
  • =<6.12.*
  • =<*
Dismissed
(max. allowed matches exceeded)
created 22 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
nvme: target: rdma: fix ndev refcount leak on queue connect

In the Linux kernel, the following vulnerability has been resolved: nvme: target: rdma: fix ndev refcount leak on queue connect nvmet_rdma_queue_connect() calls nvmet_rdma_find_get_device() which acquires a reference on the returned ndev via kref_get(). On the path where the host queue backlog is exceeded and the function returns NVME_SC_CONNECT_CTRL_BUSY, reference of ndev is not released, leaking the kref. Fix this by adding a goto to the existing put_device label before the early return.

Affected products

Linux
  • <6.8
  • =<6.18.*
  • <d65fe42820b890a6a4644de0a95a812471f79ad3
  • =<6.12.*
  • <badc53620fe813b3a9f727ef9526f98567c2c898
  • =<7.1.*
  • ==6.8
  • <5828517d17eda27f21d29ea14800c9e0a57bad11
  • =<*
  • <a8803c4f0ac3fa7df5551bbb5a8800c434a94357
Dismissed
(max. allowed matches exceeded)
created 22 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
staging: rtl8723bs: fix OOB read in OnAssocRsp() IE loop

In the Linux kernel, the following vulnerability has been resolved: staging: rtl8723bs: fix OOB read in OnAssocRsp() IE loop The IE parsing loop in OnAssocRsp() advances by (pIE->length + 2) each iteration but only guards on i < pkt_len. When a malicious AP sends an AssocResponse whose last IE has only one byte remaining in the frame (the element_id byte lands at pkt_len-1), the loop reads pIE->length from pframe[pkt_len], which is one byte past the allocated receive buffer. Additionally, even when the header bytes are in bounds, pIE->length itself can extend the data window beyond pkt_len, silently passing a truncated IE to the handler functions. Add two guards at the top of the loop body: 1. Break if fewer than sizeof(*pIE) bytes remain (can't read header). 2. Break if the IE's declared data extends past pkt_len.

Affected products

Linux
  • <f9654207e92283e0acac5d64fe5f8835383b5a23
  • <1a52a05471494546f955a58e8c170c0c796c52d5
  • =<6.18.*
  • <889ca6000ac7fa73457b041848fcb08e0d51b809
  • <0970dd47726a57e52013594e9fbf667586eb3673
  • <04f612dc03427e0b1ac80a2611b5ac0ba93ac446
  • =<6.12.*
  • =<7.1.*
  • <0406d746574e875d8778552eb674fcfbf5330bfb
  • =<6.1.*
  • =<*
  • =<6.6.*
  • ==4.12
  • =<5.15.*
  • <7e7741c8315e4160aead00a60cdd6f81ab880717
  • <4.12
Dismissed
(max. allowed matches exceeded)
created 22 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
rust_binder: use a u64 stride when cleaning up the offsets array

In the Linux kernel, the following vulnerability has been resolved: rust_binder: use a u64 stride when cleaning up the offsets array Allocation's Drop walks the offsets array (binder_size_t = u64 entries), cleaning up the objects, but it used usize instead of u64 for both the stride and the per-entry read. On 64-bit kernels (usize == u64) this is harmless, but on 32-bit kernels it walks the 8-byte entries in 4-byte steps, iterating an N-entry array 2N times, and reads the always-zero high word as offset 0, cleaning up the object at offset 0 N extra times. As a result the referenced node or handle ends up with a lower reference count than it actually has (a refcount over-decrement), and binder's reference accounting is corrupted; for example, the owner can be notified of a strong reference release (BR_RELEASE) even though references still remain. Change the stride to u64, and read each entry as a u64, narrowing it to usize with try_into(). On 32-bit ARM, when this over-decrement would drive a count below zero, the driver's existing refcount guard refuses it and fires: rust_binder: Failure: refcount underflow!

Affected products

Linux
  • <6.18
  • <89b8cc948dce661af87527623b3a41cdd115e2f9
  • =<6.18.*
  • ==6.18
  • =<7.1.*
  • =<*
  • <74920b1b4e474ba7a4de4323c0458deec49d210b
  • <803c8a9502e9b97cd6ae937618ef4a8fd6274343
Dismissed
(max. allowed matches exceeded)
created 22 hours 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
  • <0e4a5a000123d81234e27a2f8187688cf608f755
  • =<6.18.*
  • <1f9156714592356b4fda57beac7eab9c2a462dd3
  • <2.6.35
  • <65a1c2551f7e16085acbb54aedde1feaa559ba7a
  • <be353caffa8640f5e25fb3714ce8b0cef5e410e5
  • =<6.12.*
  • <5630da218a45ba80f0aba0846cbe8aa655da122b
  • =<7.1.*
  • <e6aa539720c3d8def69683ed0c07cf9faea4e8be
  • =<6.1.*
  • =<*
  • =<6.6.*
  • <b5befa80fdbe287a98480effed9564712924add5
  • =<5.15.*
  • ==2.6.35
  • <1ca605cfa59377f0143fb35b5b01360f37d1b7c4
  • =<5.10.*
Dismissed
(max. allowed matches exceeded)
created 22 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
nvmet-auth: validate reply message payload bounds against transfer length

In the Linux kernel, the following vulnerability has been resolved: nvmet-auth: validate reply message payload bounds against transfer length nvmet_auth_reply() accesses the variable-length rval[] array using attacker-controlled hl (hash length) and dhvlen (DH value length) fields without verifying they fit within the allocated buffer of tl bytes. A malicious NVMe-oF initiator can craft a DHCHAP_REPLY message with a small transfer length but large hl/dhvlen values, causing out-of-bounds heap reads when the target processes the DH public key (rval + 2*hl) or performs the host response memcmp. With DH authentication configured, the OOB pointer is passed directly to sg_init_one() and read by crypto_kpp_compute_shared_secret(), reaching up to 526 bytes past the buffer. This is exploitable pre-authentication. Add bounds validation ensuring sizeof(*data) + 2*hl + dhvlen <= tl before any access to the variable-length fields. Discovered by Atuin - Automated Vulnerability Discovery Engine.

Affected products

Linux
  • <999f6205ede984a786f35f727b01f971b98e215d
  • <3a413ece2504c70aa34a20be4dafec04e8c741f9
  • <6.0
  • =<6.18.*
  • <caa71b3a43ea5c13fe7141cb019ebcb03b8ac857
  • =<6.12.*
  • =<7.1.*
  • ==6.0
  • =<*
  • =<6.6.*
  • <6d7649c1231dac14d906985d2936967e23041c26
  • <80cd28b56ab62d3e7ed0a7bf05282e6d3ee5b2a0
Dismissed
(max. allowed matches exceeded)
created 22 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
mm/damon/ops-common: handle extreme intervals in damon_hot_score()

In the Linux kernel, the following vulnerability has been resolved: mm/damon/ops-common: handle extreme intervals in damon_hot_score() Fix three issues in damon_hot_score() that comes from wrong handling of extreme (zero or too high) monitoring intervals user setup. When the user sets sampling interval zero, damon_max_nr_accesses(), which is called from damon_hot_score(), causes a divide-by-zero. Needless to say, it is a problem. When the user sets the aggregation interval zero, the function returns zero. It is wrong, since the real maximum nr_acceses in the setup should be one. Worse yet, it can cause another divide-by-zero from its caller, damon_hot_score(), since it uses damon_max_nr_accesses() return value as a denominator. When the user sets the aggregation interval very high, damon_hot_score() could return a value out of [0, DAMOS_MAX_SCORE] range. Since the return value is used as an index to the regions_score_histogram array, which is DAMOS_MAX_SCORE+1 size, it causes out of bounds array access. The issues can be relatively easily reproduced like below. The sysfs write permission is required, though. # ./damo start --damos_action lru_prio --damos_quota_space 100M \ --damos_quota_interval 1s # cd /sys/kernel/mm/damon/admin/kdamonds/0 # echo 0 > contexts/0/monitoring_attrs/intervals/sample_us # echo 0 > contexts/0/monitoring_attrs/intervals/aggr_us # echo commit > state # dmesg [...] [ 131.329762] Oops: divide error: 0000 [#1] SMP NOPTI [...] [ 131.336089] RIP: 0010:damon_hot_score+0x27/0xd0 [...] Fix the divide-by-zero intervals problems by explicitly handling the zero intervals in damon_max_nr_accesses(). Fix the out-of-bound array access by applying [0, DAMOS_MAX_SCORE] bounds before returning from damon_hot_score(). The issue was discovered [1] by Sashiko.

Affected products

Linux
  • <35d4a3cf70a855b50e53189ac2f8463e20a02046
  • =<6.18.*
  • <74fef68d521150281e36cdaa20e9e1ee3e3aa146
  • =<6.12.*
  • =<7.1.*
  • <9c8f31eaae6140ecadec0c07320498a944556de2
  • <5.16
  • =<6.1.*
  • =<6.6.*
  • =<*
  • ==5.16
  • <ef2ae10a4582bc92b7e944181bbd2f87f3d30f3a
  • <58321b4e6e4f0f412069ab27ccdd56292757343a
  • <76e415ea88d20f022ed5cfcf78c50e156a267e91