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
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
  • =<6.1.*
  • <7b429d611060e87752e848851815537963726493
  • =<7.1.*
  • =<*
  • <0039bdde36b23ccf1196635f1d52c5490481544d
  • =<6.18.*
  • ==5.17
  • <0f0a83e26a9c7fd4b243c315ce07161d2496d83d
  • =<6.6.*
  • =<6.12.*
  • <f6682c23b6fac4780d297ae4662053d17e58fd52
  • <466540e045d01fcacf383a5beb8a2dad2fc53a26
  • <a257407e2bbbb099ed427719a50563f67fa366d8
  • <5.17
Dismissed
(max. allowed matches exceeded)
created 1 month, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
bpf: Reject fragmented frames in devmap

In the Linux kernel, the following vulnerability has been resolved: bpf: Reject fragmented frames in devmap Devmap broadcast redirects clone the packet for all but the last destination. For native XDP, that clone path copies only the linear xdp_frame data, while fragmented frames keep skb_shared_info in tailroom outside the linear area. Cloning such a frame leaves XDP_FLAGS_HAS_FRAGS set but without valid frag metadata, and the later free path can interpret uninitialized tail data as skb_shared_info, leading to an out-of-bounds access during frame return. Reject fragmented native XDP frames in dev_map_enqueue_clone(). Add the same restriction to the generic XDP clone path in dev_map_redirect_clone(). Generic XDP represents fragmented packets as nonlinear skbs, and rejecting them here keeps clone-based broadcast support aligned between native and generic XDP.

Affected products

Linux
  • <c5b4f5efcb55c1af3fe44ff712d31b7fb098a831
  • =<6.1.*
  • <a9bb2d9c798cb62a4050a991c27b752770c33afe
  • <51d07c12ca411e692c424ecdabf077f1e61a61be
  • =<7.1.*
  • =<5.15.*
  • ==5.14
  • =<*
  • <aa496720618f1a6054f1c870bf10b4f6c99bf656
  • =<6.18.*
  • <5.14
  • <47baddc856ae7e93a565dd9deeb797999b179466
  • =<6.6.*
  • =<6.12.*
  • <bccbab36ff228e0825eb85d9b0f9b8434cd0a399
  • <07a4c11ee8ef4abcb39d922e9e410ae269671cdf
Dismissed
(max. allowed matches exceeded)
created 1 month, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
io_uring/io-wq: re-check IO_WQ_BIT_EXIT for each linked work item

In the Linux kernel, the following vulnerability has been resolved: io_uring/io-wq: re-check IO_WQ_BIT_EXIT for each linked work item commit 10dc95939817 ("io_uring/io-wq: check IO_WQ_BIT_EXIT inside work run loop") fixed the obvious case where io_worker_handle_work() took one exit-bit snapshot before draining pending work, but the fix stops one level too early. io_worker_handle_work() now re-checks IO_WQ_BIT_EXIT in its outer work run loop, yet it still snapshots that bit once before processing a whole dependent linked-work chain. If io_wq_exit_start() sets IO_WQ_BIT_EXIT after the first linked item has started, the remaining linked items can still reuse stale do_kill = false, skip IO_WQ_WORK_CANCEL, and continue running after exit has begun. Move the check further inside, so it covers linked items too. Note: this is a syzbot special as it loves setting up tons of slow linked work on weird devices like msr that take forever to read, and immediately close the ring. Exit then takes a long time.

Affected products

Linux
  • =<*
  • <6.18.39
  • <14b7ecad2ec56699325180a744f4b19f046401bb
  • =<5.10.*
  • =<6.12.*
  • =<6.1.*
  • =<6.6.*
  • <29bef9934b2521f787bb15dd1985d4c0d12ae02a
  • <d179533c610e1b4c6aa436e3c1fd1b719d2c727c
  • =<7.1.*
  • <b6f179a653a934736c88d820fe0098c3c2532549
  • <ea61b04e1d7242cb37f5ed2cc91cf21a493f6597
  • <6.6.145
  • <ab85765cbe3258b43dc6729af0e6ce3a87a133d8
  • <1636d85dc139b07c0449308f2bb5e0c7a2e0da99
  • <6.19
  • ==6.19
  • <6.1.178
  • <6e2f51f3e06773c2ee98ad09738f0908b48f76f9
  • =<5.15.*
  • <5.15.212
  • <5.10.261
  • =<6.18.*
  • <6.12.96
Dismissed
(max. allowed matches exceeded)
created 1 month, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
vfio/mlx5: Fix racy bitfields and tighten struct layout

In the Linux kernel, the following vulnerability has been resolved: vfio/mlx5: Fix racy bitfields and tighten struct layout Bitfield operations are not atomic, they use a read-modify-write pattern, therefore we should be careful not to pack bitfields that can be concurrently updated into the same storage unit. This split takes a binary approach: flags that are only modified pre/post open/close remain bitfields, flags modified from user action, including actions that reach across to another device (ex. reset) use dedicated storage units. Note mlx5_vhca_page_tracker.status is relocated to fill the alignment hole this split exposes. Bitfield justifications: migrate_cap: written only in mlx5vf_cmd_set_migratable() at probe chunk_mode: written only in mlx5vf_cmd_set_migratable() at probe mig_state_cap: written only in mlx5vf_cmd_set_migratable() at probe Dedicated storage units: mdev_detach: written in the VF attach/detach event notifier mlx5fv_vf_event() at runtime log_active: written in mlx5vf_start_page_tracker()/ mlx5vf_stop_page_tracker() during runtime dirty tracking deferred_reset: written in mlx5vf_state_mutex_unlock()/ mlx5vf_pci_aer_reset_done() during runtime reset handling is_err: set by tracker error handling and dirty-log polling at runtime object_changed: set by tracker event handling and cleared by dirty-log polling at runtime

Affected products

Linux
  • <5.19
  • <39d163627b51886492bf31f66cb02c94613d2287
  • =<6.1.*
  • ==5.19
  • =<7.1.*
  • =<*
  • <399d806f998f7a25405fc1b97227e579aead24af
  • =<6.18.*
  • =<6.6.*
  • =<6.12.*
  • <7ed120b1a007bace57c461805519d70e1af44e59
  • <1dd99b8f4e143592e12e5a77e7b538bc698116cb
  • <f1db80a67da928a92ba460ede1be52d8941f46be
  • <f2365a63b02ddea32e7db78b742c2503ec7b81f1
Dismissed
(max. allowed matches exceeded)
created 1 month, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
fuse-uring: make a fuse_req on SQE commit only findable after memcpy

In the Linux kernel, the following vulnerability has been resolved: fuse-uring: make a fuse_req on SQE commit only findable after memcpy Bad userspace might try to trick us and send commit SQEs request unique / commit-id of requests that are not even send to fuse-server (io_uring_cmd_done() not called) yet. fuse_uring_commit_fetch() ends the fuse request when the ring entry has a wrong state, but that could have caused a use-after-free with the memcpy operations in fuse_uring_send_in_task(). In order to avoid such races the call of fuse_uring_add_to_pq() is moved after the copy operations and just before completing the io-uring request - malicious userspace cannot find the request anymore until all prepration work in fuse-client/kernel is completed. This also moves fuse_uring_add_to_pq() a bit up in the code to avoid a forward declaration. Also not with a preparation commit, to make it easier to back port to older kernels.

Affected products

Linux
  • =<7.1.*
  • =<*
  • <e1711479e9068ea31b31353a702a51e639c3d059
  • <6.14
  • <a635f427d57e2012102ae4886b48d8955c59fb86
  • =<6.18.*
  • ==6.14
  • <1efd3d474fc0ba74dfd984249bca78807d739812
Dismissed
(max. allowed matches exceeded)
created 1 month, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
PCI/IOV: Skip VF Resizable BAR restore on read error

In the Linux kernel, the following vulnerability has been resolved: PCI/IOV: Skip VF Resizable BAR restore on read error sriov_restore_vf_rebar_state() uses the VF Resizable BAR Control register to decide how many VF BARs to restore (nbars) and which VF BAR each iteration addresses (bar_idx). bar_idx indexes into dev->sriov->barsz[], which has only PCI_SRIOV_NUM_BARS (6) entries. When a device does not respond, config reads typically return PCI_ERROR_RESPONSE (~0). Both fields are 3 bits wide, so nbars and bar_idx both evaluate to 7. The barsz[] access then goes out of bounds. UBSAN reports this as: UBSAN: array-index-out-of-bounds in drivers/pci/iov.c:948:51 index 7 is out of range for type 'resource_size_t [6]' Observed on an NVIDIA RTX PRO 1000 GPU (GB207GLM) that stopped responding during a failed GC6 power state exit. The subsequent pci_restore_state() invoked sriov_restore_vf_rebar_state() while config reads returned 0xffffffff, triggering the splat. Bail out if any VF Resizable BAR Control read returns PCI_ERROR_RESPONSE. No further VF BARs are touched, which is safe because a config read that returns PCI_ERROR_RESPONSE indicates the device is unreachable and restoration is pointless. This mirrors the guard in pci_restore_rebar_state().

Affected products

Linux
  • ==6.17
  • <6.17
  • <55fd485e66d0ad5c762c23dba1461fe9c741cd96
  • <b77524621250407386f44c6eea7e5e4619ada1ce
  • =<*
  • =<7.1.*
  • <f34f1712229d71ce4286440fef12526fd4590b37
  • =<6.18.*
Dismissed
(max. allowed matches exceeded)
created 1 month, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
x86,fs/resctrl: Prevent out-of-bounds access while offlining CPU when SNC enabled

In the Linux kernel, the following vulnerability has been resolved: x86,fs/resctrl: Prevent out-of-bounds access while offlining CPU when SNC enabled The architecture updates the cpu_mask in a domain's header to track which online CPUs are associated with the domain. When this mask becomes empty the architecture initiates offline of the domain that includes calling on resctrl fs to offline the domain. If it is a monitoring domain in which LLC occupancy is tracked resctrl fs forces the limbo handler to clear all busy RMID state associated with the domain. The limbo handler always reads the current event value associated with a busy RMID irrespective of it being checked as part of regular "is it still busy" check or whether it will be forced released anyway. When reading an RMID on a system with SNC enabled the "logical RMID" is converted to the "physical RMID" and this conversion requires the NUMA node ID of the resctrl monitoring domain that is in turn determined by querying the NUMA node ID of any CPU belonging to the monitoring domain. When the monitoring domain is going offline its cpu_mask is empty causing the NUMA node ID query via cpu_to_node() to be done with "nr_cpu_ids" as argument resulting in an out-of-bounds access. Refactor the limbo handler to skip reading the RMID when the RMID will just be forced to no longer be dirty in the domain anyway. Add a safety check to the architecture's RMID reader to protect against this scenario.

Affected products

Linux
  • <58c5ec23b1a238eb75cb0aba6f69d8f9e68ef0b2
  • <fc16126cc11d9f507130bf84ab137ee0938c900e
  • <ebc300b7ee0c669fa76a7a8858298ff32e296103
  • =<7.1.*
  • =<*
  • <be1567992417dc92133e74126de7a6066c825ac9
  • ==6.11
  • =<6.18.*
  • =<6.12.*
  • <6.11
Dismissed
(max. allowed matches exceeded)
created 1 month, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
regulator: tps65219: fix irq_data.rdev not being assigned

In the Linux kernel, the following vulnerability has been resolved: regulator: tps65219: fix irq_data.rdev not being assigned Commit 64a6b577490c ("regulator: tps65219: Remove debugging helper function") removed the tps65219_get_rdev_by_name() helper along with the irq_data.rdev assignment that depended on it. This left irq_data.rdev uninitialized for all IRQs, causing undefined behavior when regulator_notifier_call_chain() is called from the IRQ handler: Internal error: Oops: 0000000096000004 pc : regulator_notifier_call_chain lr : tps65219_regulator_irq_handler Call trace: regulator_notifier_call_chain tps65219_regulator_irq_handler handle_nested_irq regmap_irq_thread irq_thread_fn irq_thread kthread ret_from_fork Instead of restoring a dedicated lookup array, restructure the probe function to combine regulator registration with IRQ registration in the same loop. This way the rdev returned by devm_regulator_register() is naturally available for assigning to irq_data.rdev without any auxiliary data structure. Non-regulator IRQs (SENSOR, TIMEOUT) that don't correspond to any registered regulator are registered with rdev=NULL, and the IRQ handler is protected with a NULL check to avoid crashing.

Affected products

Linux
  • <6827647fd2dcf4e7f355478a42e82f51e0b5344c
  • =<*
  • <6.14
  • =<6.18.*
  • ==6.14
  • <f9b2d3b703d13df50c630997dfdc25648e96db0d
  • =<7.0.*
  • <b986f88b22a5374191c195c073350bbeb1bb6518
Dismissed
(max. allowed matches exceeded)
created 1 month, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
spi: ti-qspi: fix use-after-free after DMA setup failure

In the Linux kernel, the following vulnerability has been resolved: spi: ti-qspi: fix use-after-free after DMA setup failure The driver falls back to PIO mode if DMA setup fails during probe. Make sure to clear the DMA channel pointer also if buffer allocation fails to avoid passing a pointer to the released channel to the DMA engine (or trying to free the channel a second time on late probe errors or driver unbind). This issue was flagged by Sashiko when reviewing a devres allocation conversion patch.

Affected products

Linux
  • <3bbbe7ae3fdada0df4157c1ffe989f92dfa8dcd6
  • <1cd927002120678bd5d23c760246639caa53040e
  • =<6.1.*
  • <d7a076fb596c7b408ed6df74793a597990a6d860
  • <d6f422b122922d1abee907d673bcc990e5f3672d
  • =<*
  • ==4.12
  • =<5.15.*
  • =<5.10.*
  • <178b9b570c0f75fa7e691490520328b20d19138e
  • =<6.18.*
  • =<7.0.*
  • <ea6ec3343e05f7937a53eb6d7617b3abdb4abc19
  • =<6.6.*
  • =<6.12.*
  • <f2dc841d7dc9063fe9b47ced869b1271e55052ae
  • <4.12
  • <9c6f306a8140962c7284197db54b96fdb5f468d6
Dismissed
(no matching packages found)
Permalink CVE-2026-61892
8.7 HIGH
  • CVSS version (CVSS): 4.0
  • Attack Vector (AV): Network (N)
  • Attack Complexity (AC): Low (L)
  • Attack Requirement (AT): None (N)
  • Privileges Required (PR): Low (L)
  • User Interaction (UI): None (N)
  • Vulnerable System Impact Confidentiality (VC): High (H)
  • Vulnerable System Impact Integrity (VI): High (H)
  • Vulnerable System Impact Availability (VA): High (H)
  • Subsequent System Impact Confidentiality (SC): None (N)
  • Subsequent System Impact Integrity (SI): None (N)
  • Subsequent System Impact Availability (SA): None (N)
  • Modified Attack Vector (MAV): Network (N)
  • Modified Attack Complexity (MAC): Low (L)
  • Modified Attack Requirement (MAT): None (N)
  • Modified Privileges Required (MPR): Low (L)
  • Modified User Interaction (MUI): None (N)
  • Modified Vulnerable System Impact Confidentiality (MVC): High (H)
  • Modified Vulnerable System Impact Integrity (MVI): High (H)
  • Modified Vulnerable System Impact Availability (MVA): High (H)
  • Modified Subsequent System Impact Confidentiality (MSC): Negligible (N)
  • Modified Subsequent System Impact Integrity (MSI): Negligible (N)
  • Modified Subsequent System Impact Availability (MSA): Negligible (N)
  • Safety (S): Not Defined (X)
  • Automatable (AU): Not Defined (X)
  • Recovery (R): Not Defined (X)
  • Value Density (V): Not Defined (X)
  • Vulnerability Response Effort (RE): Not Defined (X)
  • Provider Urgency (U): Not Defined (X)
  • Confidentiality Req. (CR): Not Defined (X)
  • Integrity Req. (IR): Not Defined (X)
  • Availability Req. (AR): Not Defined (X)
  • Exploit Maturity (E): Not Defined (X)
created 1 month, 1 week ago Activity log
  • Created & dismissed (no matching packages found) suggestion
Weintek cMT3092X Incorrect Permission Assignment for Critical Resource

Weintek cMT3092X HMI allows a non-privileged user to modify tokens to escalate privileges.

Affected products

EasyWeb
  • <v2.1.20
  • ==2.3.17-typeb
cMT3092X firmware
  • <20210218