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 23 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
mm/swap: add cond_resched() in swap_reclaim_full_clusters to prevent softlockup

In the Linux kernel, the following vulnerability has been resolved: mm/swap: add cond_resched() in swap_reclaim_full_clusters to prevent softlockup We hit a real softlockup in an internal stress test environment. The workload was LTP memory/swap stress on a large arm64 machine, with 320 CPUs, about 1TB memory and an 8.6GB swap device. The system was under heavy load and the swap device had a large number of full clusters. The softlockup was triggered during a stress test after about 3 days. So, add periodic cond_resched() calls during large full_clusters reclaim operations to prevent softlockup issues. Detailed call trace as follow: PID: 3817773 TASK: ffff0883bb28b780 CPU: 48 COMMAND: "kworker/48:7" #0 [ffff800080183d10] __crash_kexec at ffffa4c1361e5de4 #1 [ffff800080183d90] panic at ffffa4c1360d5e9c #2 [ffff800080183e20] watchdog_timer_fn at ffffa4c136231fa8 ... #16 [ffff8000c4ad3cb0] swap_cache_del_folio at ffffa4c1363e1614 #17 [ffff8000c4ad3ce0] __try_to_reclaim_swap at ffffa4c1363e4bfc #18 [ffff8000c4ad3d40] swap_reclaim_full_clusters at ffffa4c1363e5474 #19 [ffff8000c4ad3da0] swap_reclaim_work at ffffa4c1363e550c #20 [ffff8000c4ad3dc0] process_one_work at ffffa4c136102edc #21 [ffff8000c4ad3e10] worker_thread at ffffa4c136103398 #22 [ffff8000c4ad3e70] kthread at ffffa4c13610d95c

Affected products

Linux
  • ==6.12
  • =<6.18.*
  • <6.12
  • <66366d291f666ddeda5f8c84f253e308de3e6b55
  • =<6.12.*
  • =<7.1.*
  • =<*
  • <2a55fdf9f746a1a6ced7fd62ea1080b8a917e0b0
  • <69c0e6246575b780ae0d3f411c749bcf13c221f3
  • <60cbe67d1342f34b66df1c2ee328e3cd333767d7
Dismissed
(max. allowed matches exceeded)
created 23 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
net: usb: kalmia: bound RX frame length in kalmia_rx_fixup()

In the Linux kernel, the following vulnerability has been resolved: net: usb: kalmia: bound RX frame length in kalmia_rx_fixup() kalmia_rx_fixup() computes usb_packet_length = skb->len - (2 * KALMIA_HEADER_LENGTH) as a u16, guarded only by a pre-loop check that skb->len is at least KALMIA_HEADER_LENGTH, which is 6. A device can deliver a short bulk-IN frame with skb->len in the 6 to 11 range, or leave a short trailing remainder on a later loop iteration. Either case underflows usb_packet_length to about 65530. That bypasses the usb_packet_length < ether_packet_length truncation path. The device-supplied ether_packet_length, a le16 up to 65535 read from header_start[2], then drives a memcmp() and the following skb_trim() and skb_pull() past the end of the rx buffer. The rx buffer is hard_mtu * 10, which is 14000 bytes. That is an out of bounds read. Require both the start and end framing headers to be present before subtracting them, on every loop iteration.

Affected products

Linux
  • <3.0
  • <e24eb271061db384a3c3ef6f107fe515e68ef222
  • =<6.18.*
  • <46ab32870d010e9a057bc5659cea22b7e728ca88
  • <391706889a5112feafdc0c68db3ecc7ed325d09c
  • <aa4eef2cbb66ea3dfcfc24bdce798dd78a81b54b
  • =<6.12.*
  • =<7.1.*
  • <2d04c37ed4e1d0f733ad39ec35b5a5d8818b4f4a
  • <47b6bcef6e679593d2e86e04ee72c46a4e2f7139
  • ==3.0
  • =<*
  • <c466097d85d52f3aa200736cb4759e66d4bbf6e3
  • =<6.1.*
  • =<6.6.*
  • =<5.15.*
  • <51e65f1d78457ea4f9513d90ab22c9dccbb35110
  • =<5.10.*
Dismissed
(max. allowed matches exceeded)
created 23 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
exfat: bound uniname advance in exfat_find_dir_entry()

In the Linux kernel, the following vulnerability has been resolved: exfat: bound uniname advance in exfat_find_dir_entry() In exfat_find_dir_entry(), each TYPE_EXTEND (file name) entry advances the output pointer by a fixed amount while the loop guard only tracks the accumulated name length: if (++order == 2) uniname = p_uniname->name; else uniname += EXFAT_FILE_NAME_LEN; len = exfat_extract_uni_name(ep, entry_uniname); name_len += len; unichar = *(uniname+len); *(uniname+len) = 0x0; uniname grows by EXFAT_FILE_NAME_LEN (15) per name entry, but name_len grows only by the actual extracted length, which is shorter when a name fragment contains an early NUL. The only guard is `name_len >= MAX_NAME_LENGTH`, so a crafted directory with many short name fragments lets uniname run far past the p_uniname->name[MAX_NAME_LENGTH + 3] buffer while name_len stays small, causing an out-of-bounds read and write at *(uniname+len). The sibling extractor exfat_get_uniname_from_ext_entry() already stops on a short fragment (the lockstep `len != EXFAT_FILE_NAME_LEN` guard added in commit d42334578eba ("exfat: check if filename entries exceeds max filename length")); exfat_find_dir_entry() never got the equivalent. Track the per-entry write offset as a count and reject a fragment once the offset, or the offset plus the extracted length, would exceed MAX_NAME_LENGTH, before forming the output pointer.

Affected products

Linux
  • <ce4736c1e6c4cfbf1ac409a8c328a0b69546c9a0
  • <c8e041c68c0bbb73aa62371ee63947bb6949d8b2
  • <fae76a94b35ee8c0e2eb6f64caca01d75c6d34e4
  • =<6.18.*
  • <33c0b96d7e1672be1de0053786637ea46fb81507
  • <72a2589d82eb001c94b74bcfe6f9a599bd9bef60
  • =<6.12.*
  • <727bf7783a2936ffd55c628dddfd69343e511dcf
  • =<7.1.*
  • ==5.7
  • =<6.1.*
  • =<*
  • =<6.6.*
  • <cf85180b8a015029ee147694eaf4e0b3537e9432
  • <3a1230e7b043c62737b05a3e9275ca83a43ad20a
  • =<5.15.*
  • =<5.10.*
  • <5.7
Dismissed
(max. allowed matches exceeded)
created 23 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
vfio/pci: Release the VGA arbiter client on register_device() failure

In the Linux kernel, the following vulnerability has been resolved: vfio/pci: Release the VGA arbiter client on register_device() failure The re-order in the Fixes commit below displaced vfio_pci_vga_init() as the last failure point of what is now vfio_pci_core_register_device() without introducing an unwind for the VGA arbiter registration. In current kernels this is mostly benign because vfio_pci_set_decode() only uses pci_dev state, but the original failure path could leave a callback with a freed vdev cookie. The stale registration also becomes unsafe again once the callback follows drvdata to the vfio device. Add the required VGA unwind callout.

Affected products

Linux
  • <5.10.261
  • <278a5659c391fe5afe5f9ce1bad1fd24e90144f1
  • =<7.1.*
  • <5.13
  • =<6.1.*
  • =<5.15.*
  • =<5.10.*
  • <5.13
  • <daedde7f024ecf88bc8e832ed40cf2c795f0796a
  • <5.12
  • ==d62dccb417cf972c978bf3c68a7d5e846bcf953e
  • <ef4c38d30b3744e89eb5048218904bb629ea8d47
  • =<6.6.*
  • <0f2a35a0c7ea7da347b814750eaa78adf3582381
  • ==6694b8daffac5a8661071f085608afc78f7acd08
  • =<6.18.*
  • <9e0a3f642e607848669235f5069f35640abbfc88
  • <42d758a09d2c46c42357ecde9a5492f015bde2e5
  • =<6.12.*
  • =<*
  • <52adb2dff7ce3d8430e2bdc5988b618a430def85
  • ==5.13
  • <8d65decde9afd2bd78bcfffdc0df73b82a0b5509
Dismissed
(max. allowed matches exceeded)
created 23 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
USB: serial: digi_acceleport: fix hard lockup on disconnect

In the Linux kernel, the following vulnerability has been resolved: USB: serial: digi_acceleport: fix hard lockup on disconnect If submitting the OOB write urb fails persistently (e.g if the device is being disconnected) the driver would loop indefinitely with interrupts disabled. Check for urb submission errors when sending OOB commands to avoid hanging if, for example, open(), set_termios() or close() races with a physical disconnect. This is issue was flagged by Sashiko when reviewing an unrelated change to the driver.

Affected products

Linux
  • =<6.18.*
  • <5c1ea24b53bf3bfb859f0a05573997487975da23
  • <6e51147c2744d15730084dc89cc99180d3de4184
  • =<5.15.*
  • =<6.12.*
  • <2b7dc482f859f2d027db07ff0efc1c5df5b3451a
  • =<7.1.*
  • <2.6.12
  • <6a8592ace932081ea11aea41c460a1ca0f6344a4
  • =<6.1.*
  • =<6.6.*
  • <2067b3838da6e4af03bae3630414193188d754b2
  • =<*
  • <5a82d842e8c35227d7227f19e5e654df1451782c
  • <79bc131df0e50f8f663c1fdbbe952aaf193a8d39
  • ==2.6.12
  • <bcfeae431db9986c2b313e6a760f2ac8df61e138
  • =<5.10.*
Dismissed
(max. allowed matches exceeded)
created 23 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
smb/client: fix chown/chgrp with SMB3 POSIX Extensions

In the Linux kernel, the following vulnerability has been resolved: smb/client: fix chown/chgrp with SMB3 POSIX Extensions Ownership (chown) and group (chgrp) modifications were being ignored when mounting with SMB3 POSIX Extensions unless CIFS_MOUNT_CIFS_ACL or CIFS_MOUNT_MODE_FROM_SID were also explicitly set. Fix this by checking for posix_extensions in cifs_setattr_nounix() when updating UID and GID, ensuring that id_mode_to_cifs_acl() is called to map and set the ownership/group information on the server.

Affected products

Linux
  • =<7.1.*
  • <550cfb8a81181331d4d0f76ab75ee58a0bf41e3e
  • =<*
  • <760ef2c579c2609cf17fb1cd5392f64d42d43d33
  • <7.1.4
Dismissed
(max. allowed matches exceeded)
created 23 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
ipv4: igmp: remove multicast group from hash table on device destruction

In the Linux kernel, the following vulnerability has been resolved: ipv4: igmp: remove multicast group from hash table on device destruction When a device is destroyed under RTNL, ip_mc_destroy_dev() iterates through the multicast list and calls ip_ma_put() on each membership, scheduling them for RCU reclamation. However, they are not unlinked from the device's multicast hash table (mc_hash). Since the device remains published in dev->ip_ptr until after ip_mc_destroy_dev() completes, concurrent RCU readers traversing mc_hash can still locate and access the multicast group after its refcount is decremented. If the RCU callback runs and frees the group while a reader is accessing it, a use-after-free occurs. Fix this by unlinking the multicast group from mc_hash using ip_mc_hash_remove() before scheduling it for reclamation. BUG: KASAN: slab-use-after-free in ip_check_mc_rcu+0x149/0x3f0 Read of size 4 at addr ffff888009bf1408 by task mausezahn/2276 Call Trace: <IRQ> dump_stack_lvl+0x67/0x90 print_report+0x175/0x7c0 kasan_report+0x147/0x180 ip_check_mc_rcu+0x149/0x3f0 udp_v4_early_demux+0x36d/0x12d0 ip_rcv_finish_core+0xb8b/0x1390 ip_rcv_finish+0x54/0x120 NF_HOOK+0x213/0x2b0 __netif_receive_skb+0x126/0x340 process_backlog+0x4f2/0xf00 __napi_poll+0x92/0x2c0 net_rx_action+0x583/0xc60 handle_softirqs+0x236/0x7f0 do_softirq+0x57/0x80 </IRQ> Allocated by task 2239: kasan_save_track+0x3e/0x80 __kasan_kmalloc+0x72/0x90 ____ip_mc_inc_group+0x31a/0xa40 __ip_mc_join_group+0x334/0x3f0 do_ip_setsockopt+0x16fa/0x2010 ip_setsockopt+0x3f/0x90 do_sock_setsockopt+0x1ad/0x300 Freed by task 0: kasan_save_track+0x3e/0x80 kasan_save_free_info+0x40/0x50 __kasan_slab_free+0x3a/0x60 __rcu_free_sheaf_prepare+0xd4/0x220 rcu_free_sheaf+0x36/0x190 rcu_core+0x8d9/0x12f0 handle_softirqs+0x236/0x7f0

Affected products

Linux
  • <c6cb5f8ebe1c1a78710c19f102db9fe48b9e6ba9
  • <5f42729d74bd6c61306d864423290d92962de4e1
  • <7993211bde166471dffac074dc965489f86531f8
  • <76d030ac95e17f91d69a595f17ebc5979700cf9a
  • <412ba7def06ffe974ba9a1d862b022362c54ffa5
  • =<6.18.*
  • <3.11
  • <2ca18df1c2611f70eb3eb487e02ae85eb703b284
  • =<6.12.*
  • =<7.1.*
  • <8820b530cb2388503d7418228d03ba074bf7a03e
  • =<6.1.*
  • =<*
  • =<6.6.*
  • =<5.15.*
  • <f91883031e5a62877a29ce139442973cbea769f1
  • ==3.11
  • =<5.10.*
Dismissed
(max. allowed matches exceeded)
created 23 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
Bluetooth: btmtksdio: fix infinite loop in btmtksdio_txrx_work()

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btmtksdio: fix infinite loop in btmtksdio_txrx_work() Every once in a while we see a hung btmtksdio_flush() task: INFO: task kworker/u17:0:189 blocked for more than 122 seconds. __cancel_work_timer+0x3f4/0x460 cancel_work_sync+0x1c/0x2c btmtksdio_flush+0x2c/0x40 hci_dev_open_sync+0x10c4/0x2190 [..] It all boils down to incorrect time_is_before_jiffies() usage in btmtksdio_txrx_work(). The btmtksdio_txrx_work() loop is expected to be terminated if running for longer than 5*HZ. However the timeout check is twisted: time_is_before_jiffies(old_jiffies + 5*HZ) evaluates to true when old_jiffies + 5*HZ is in the past i.e. when a timeout has occurred. Using OR with time_is_before_jiffies(txrx_timeout) means that: - before the 5-second timeout: the condition is `int_status || false`, so it loops as long as there are pending interrupts. - after the 5-second timeout: the condition becomes `int_status || true`, which is always true. When the loop becomes infinite btmtksdio_txrx_work() loop never terminates and never releases the SDIO host. Fix loop termination condition to actually enforce a 5*HZ timeout.

Affected products

Linux
  • <a257407e2bbbb099ed427719a50563f67fa366d8
  • <7b429d611060e87752e848851815537963726493
  • =<6.18.*
  • <0f0a83e26a9c7fd4b243c315ce07161d2496d83d
  • ==5.17
  • =<6.12.*
  • <5.17
  • =<7.1.*
  • <0039bdde36b23ccf1196635f1d52c5490481544d
  • <f6682c23b6fac4780d297ae4662053d17e58fd52
  • =<6.1.*
  • =<*
  • =<6.6.*
  • <466540e045d01fcacf383a5beb8a2dad2fc53a26
Dismissed
(max. allowed matches exceeded)
created 23 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
ALSA: virtio: Validate control metadata from the device

In the Linux kernel, the following vulnerability has been resolved: ALSA: virtio: Validate control metadata from the device virtio-snd control handling trusts the device-provided control type and value count returned by the device. That metadata is then used directly to index g_v2a_type_map[] in virtsnd_kctl_info(), and to size loops and memcpy() operations in virtsnd_kctl_get() and virtsnd_kctl_put() against fixed-size virtio_snd_ctl_value and snd_ctl_elem_value arrays. A buggy or malicious device can therefore trigger out-of-bounds access by advertising an invalid control type or an oversized value count. Validate control type and count once in virtsnd_kctl_parse_cfg(), before querying enumerated items or exposing the control to ALSA.

Affected products

Linux
  • <21584672fd699abe1768241d6c501b2de6139b6a
  • =<6.18.*
  • <6.9
  • =<6.12.*
  • =<7.1.*
  • <c77a6cbb36ff8cbc1f084d94f8dcda5250935271
  • =<*
  • ==6.9
  • <5da9742de22db0dbaa8d414214ab5e1bedde00f9
  • <3243563f99ef5d3949b934bd6390a5679405d0e1
Dismissed
(max. allowed matches exceeded)
created 23 hours ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
crypto: pcrypt - restore callback for non-parallel fallback

In the Linux kernel, the following vulnerability has been resolved: crypto: pcrypt - restore callback for non-parallel fallback pcrypt installs pcrypt_aead_done() on the child AEAD request before trying to submit it through padata. If padata_do_parallel() returns -EBUSY, pcrypt falls back to calling the child AEAD directly. That fallback must not keep the padata completion callback. Otherwise an asynchronous completion runs pcrypt_aead_done() even though the request was never enrolled in padata. Restore the original request callback and callback data before calling the child AEAD directly. This keeps the fallback path aligned with a direct AEAD request while leaving the parallel path unchanged.

Affected products

Linux
  • <5.10.261
  • <4711ca06bd169a2cbc9cc59a6de2ed512c41a880
  • <81ce16d938db9b88cdc231522c0358395ae8c6b5
  • =<7.1.*
  • <ae93c5b3e2a2968b56d772ca1d06615927b7cc36
  • =<6.1.*
  • <82789a44415e3e31168229421b138278dfb16412
  • =<5.15.*
  • ==dd8bf8eb5beba1e7c3b11a9a5a58ccbf345a69e6
  • =<5.10.*
  • <ed459fe319376e876de433d12b6c6772e612ca36
  • <5.15.212
  • <6.12.96
  • <4.20
  • <3920c5f6edc341729d20d0507e466c6d3b11f372
  • <6.12
  • ==a8e0074ffb38c9a5964a221bb998034d016c93a2
  • <c4bd2f4c35b0e15b6040c2f7e7e7986780c066cf
  • <6.6.145
  • =<6.6.*
  • <5.5
  • <83fa1397d5853de1e27dd52ec44b068ff358ca18
  • <6.1.178
  • =<6.18.*
  • <6.13
  • =<6.12.*
  • =<*
  • ==6.13
  • ==fca8aed12218f96b38e374ff264d78ea1fbd23cc