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 2 months, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
netfilter: nat: use kfree_rcu to release ops

In the Linux kernel, the following vulnerability has been resolved: netfilter: nat: use kfree_rcu to release ops Florian Westphal says: "Historically this is not an issue, even for normal base hooks: the data path doesn't use the original nf_hook_ops that are used to register the callbacks. However, in v5.14 I added the ability to dump the active netfilter hooks from userspace. This code will peek back into the nf_hook_ops that are available at the tail of the pointer-array blob used by the datapath. The nat hooks are special, because they are called indirectly from the central nat dispatcher hook. They are currently invisible to the nfnl hook dump subsystem though. But once that changes the nat ops structures have to be deferred too." Update nf_nat_register_fn() to deal with partial exposition of the hooks from error path which can be also an issue for nfnetlink_hook.

Affected products

Linux
  • =<*
  • <32fdd2e38e7435a368d88f5977a7d6585ebc8b0e
  • ==5.14
  • =<6.18.*
  • <5.14
  • =<7.0.*
  • <6eda0d771f94267f73f57c94630aa47e90957915
  • <3c7511f38ab511b791196b13ae48bf4973bf7dfd
Dismissed
(max. allowed matches exceeded)
created 2 months, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
md: fix array_state=clear sysfs deadlock

In the Linux kernel, the following vulnerability has been resolved: md: fix array_state=clear sysfs deadlock When "clear" is written to array_state, md_attr_store() breaks sysfs active protection so the array can delete itself from its own sysfs store method. However, md_attr_store() currently drops the mddev reference before calling sysfs_unbreak_active_protection(). Once do_md_stop(..., 0) has made the mddev eligible for delayed deletion, the temporary kobject reference taken by sysfs_break_active_protection() can become the last kobject reference protecting the md kobject. That allows sysfs_unbreak_active_protection() to drop the last kobject reference from the current sysfs writer context. kobject teardown then recurses into kernfs removal while the current sysfs node is still being unwound, and lockdep reports recursive locking on kn->active with kernfs_drain() in the call chain. Reproducer on an existing level: 1. Create an md0 linear array and activate it: mknod /dev/md0 b 9 0 echo none > /sys/block/md0/md/metadata_version echo linear > /sys/block/md0/md/level echo 1 > /sys/block/md0/md/raid_disks echo "$(cat /sys/class/block/sdb/dev)" > /sys/block/md0/md/new_dev echo "$(($(cat /sys/class/block/sdb/size) / 2))" > \ /sys/block/md0/md/dev-sdb/size echo 0 > /sys/block/md0/md/dev-sdb/slot echo active > /sys/block/md0/md/array_state 2. Wait briefly for the array to settle, then clear it: sleep 2 echo clear > /sys/block/md0/md/array_state The warning looks like: WARNING: possible recursive locking detected bash/588 is trying to acquire lock: (kn->active#65) at __kernfs_remove+0x157/0x1d0 but task is already holding lock: (kn->active#65) at sysfs_unbreak_active_protection+0x1f/0x40 ... Call Trace: kernfs_drain __kernfs_remove kernfs_remove_by_name_ns sysfs_remove_group sysfs_remove_groups __kobject_del kobject_put md_attr_store kernfs_fop_write_iter vfs_write ksys_write Restore active protection before mddev_put() so the extra sysfs kobject reference is dropped while the mddev is still held alive. The actual md kobject deletion is then deferred until after the sysfs write path has fully returned.

Affected products

Linux
  • <62c44566da7493ee48ef17e8507bb798338a07cb
  • =<6.18.*
  • =<*
  • <2aa72276fab9851dbd59c2daeb4b590c5a113908
  • ==6.17
  • =<7.0.*
  • <6.17
  • <92ad0ec509ffb188d8f849b63148664df37b4a52
Dismissed
(max. allowed matches exceeded)
created 2 months, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
PCI: tegra194: Fix CBB timeout caused by DBI access before core power-on

In the Linux kernel, the following vulnerability has been resolved: PCI: tegra194: Fix CBB timeout caused by DBI access before core power-on When PERST# is deasserted twice (assert -> deassert -> assert -> deassert), a CBB (Control Backbone) timeout occurs at DBI register offset 0x8bc (PCIE_MISC_CONTROL_1_OFF). This happens because pci_epc_deinit_notify() and dw_pcie_ep_cleanup() are called before reset_control_deassert() powers on the controller core. The call chain that causes the timeout: pex_ep_event_pex_rst_deassert() pci_epc_deinit_notify() pci_epf_test_epc_deinit() pci_epf_test_clear_bar() pci_epc_clear_bar() dw_pcie_ep_clear_bar() __dw_pcie_ep_reset_bar() dw_pcie_dbi_ro_wr_en() <- Accesses 0x8bc DBI register reset_control_deassert(pcie->core_rst) <- Core powered on HERE The DBI registers, including PCIE_MISC_CONTROL_1_OFF (0x8bc), are only accessible after the controller core is powered on via reset_control_deassert(pcie->core_rst). Accessing them before this point results in a CBB timeout because the hardware is not yet operational. Fix this by moving pci_epc_deinit_notify() and dw_pcie_ep_cleanup() to after reset_control_deassert(pcie->core_rst), ensuring the controller is fully powered on before any DBI register accesses occur.

Affected products

Linux
  • ==6.13
  • <6.12
  • <6.13
  • =<*
  • <b059a41bdd5b202b2b9d7708403fb43c69689e53
  • =<6.18.*
  • <6.12.91
  • =<6.12.*
  • <010983063a806720b45778d191335f8ea864fea3
  • =<7.0.*
  • <ce899f9c019591b73ef84b9afa332ed53beece25
  • ==70212c2300971506e986d95000d2745529cac9d7
  • <34b3eef48d980cd37b876e128bbf314f69fb5d70
Dismissed
(max. allowed matches exceeded)
created 2 months, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
bpf: Fix abuse of kprobe_write_ctx via freplace

In the Linux kernel, the following vulnerability has been resolved: bpf: Fix abuse of kprobe_write_ctx via freplace uprobe programs are allowed to modify struct pt_regs. Since the actual program type of uprobe is KPROBE, it can be abused to modify struct pt_regs via kprobe+freplace when the kprobe attaches to kernel functions. For example, SEC("?kprobe") int kprobe(struct pt_regs *regs) { return 0; } SEC("?freplace") int freplace_kprobe(struct pt_regs *regs) { regs->di = 0; return 0; } freplace_kprobe prog will attach to kprobe prog. kprobe prog will attach to a kernel function. Without this patch, when the kernel function runs, its first arg will always be set as 0 via the freplace_kprobe prog. To fix the abuse of kprobe_write_ctx=true via kprobe+freplace, disallow attaching freplace programs on kprobe programs with different kprobe_write_ctx values.

Affected products

Linux
  • =<*
  • <9836cadbd96c7e0dbb0018fa60e7872dd31ac4f8
  • <6.18
  • =<6.18.*
  • <b312cf41b9e43f442613053f6cad39898e1baf96
  • <611fe4b79af72d00d80f2223354284447daafae9
  • =<7.0.*
  • ==6.18
Dismissed
(max. allowed matches exceeded)
Permalink CVE-2026-13021
4.3 MEDIUM
  • CVSS version (CVSS): 3.1
  • Attack Vector (AV): Network (N)
  • Attack Complexity (AC): Low (L)
  • Privileges Required (PR): None (N)
  • User Interaction (UI): Required (R)
  • Scope (S): Unchanged (U)
  • Confidentiality (C): Low (L)
  • Integrity (I): None (N)
  • Availability (A): None (N)
  • Modified Attack Vector (MAV): Network (N)
  • Modified Attack Complexity (MAC): Low (L)
  • Modified Privileges Required (MPR): None (N)
  • Modified User Interaction (MUI): Required (R)
  • Modified Confidentiality (MC): Low (L)
  • Modified Scope (MS): Unchanged (U)
  • Modified Integrity (MI): None (N)
  • Modified Availability (MA): None (N)
created 2 months, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
Inappropriate implementation in DeviceBoundSessionCredentials in Google Chrome prior to 149.0.7827.197 …

Inappropriate implementation in DeviceBoundSessionCredentials in Google Chrome prior to 149.0.7827.197 allowed a remote attacker to bypass same origin policy via a crafted HTML page. (Chromium security severity: High)

Affected products

Chrome
  • <149.0.7827.197
Dismissed
(max. allowed matches exceeded)
created 2 months, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
net: bcmgenet: fix leaking free_bds

In the Linux kernel, the following vulnerability has been resolved: net: bcmgenet: fix leaking free_bds While reclaiming the tx queue we fast forward the write pointer to drop any data in flight. These dropped frames are not added back to the pool of free bds. We also need to tell the netdev that we are dropping said data.

Affected products

Linux
  • <150d06aae1839a6564ab200ef0e7291c3528bbb0
  • =<*
  • <3c3abbcfa05bad17965498ff7cc94c2418fa94b3
  • ==6.15
  • =<6.18.*
  • <ac4a29c331ecb5b10240c44247a8e010c95bc15b
  • <6.15
  • =<7.0.*
  • <52b9f80993698138b90e5ca3a72550a2501f2a96
  • <3f3168300efb839028328d720ab3962f91d6a0d0
  • <25ff3a3e47ea635ec08dc93e84dd2bfe15abfebb
Dismissed
(max. allowed matches exceeded)
created 2 months, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
block: fix zones_cond memory leak on zone revalidation error paths

In the Linux kernel, the following vulnerability has been resolved: block: fix zones_cond memory leak on zone revalidation error paths When blk_revalidate_disk_zones() fails after disk_revalidate_zone_resources() has allocated args.zones_cond, the memory is leaked because no error path frees it.

Affected products

Linux
  • ==6.19
  • =<*
  • <2a2f520fda824b5a25c93f2249578ea150c24e06
  • <29153d128384fa7c48a8ca8d34094b1cbe2d5bdc
  • =<7.0.*
  • <6.19
Dismissed
(max. allowed matches exceeded)
created 2 months, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
usb: typec: Fix error pointer dereference

In the Linux kernel, the following vulnerability has been resolved: usb: typec: Fix error pointer dereference The variable tps->partner is checked for an error pointer and then if it is, it sends an error message but does not return and then immediately dereferenced a few lines below: tps->partner = typec_register_partner(tps->port, &desc); if (IS_ERR(tps->partner)) dev_warn(tps->dev, "%s: failed to register partnet\n", __func__); if (desc.identity) { typec_partner_set_identity(tps->partner); cd321x->cur_partner_identity = st.partner_identity; } Add early return and fix spelling mistake in error message. Detected by Smatch: drivers/usb/typec/tipd/core.c:827 cd321x_update_work() error: 'tps->partner' dereferencing possible ERR_PTR()

Affected products

Linux
  • <f2529d08fcb429ea01bb87c326342f41483f8b2f
  • =<*
  • <19951118fb22b5ad512379ee64510fe0e2c40eb3
  • <6.18
  • =<6.18.*
  • <9e31082f92c913d74fefb4e60cd0284e605ba3a3
  • =<7.0.*
  • ==6.18
Dismissed
(max. allowed matches exceeded)
created 2 months, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
Bluetooth: l2cap: Add missing chan lock in l2cap_ecred_reconf_rsp

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: l2cap: Add missing chan lock in l2cap_ecred_reconf_rsp l2cap_ecred_reconf_rsp() calls l2cap_chan_del() without holding l2cap_chan_lock(). Every other l2cap_chan_del() caller in the file acquires the lock first. A remote BLE device can send a crafted L2CAP ECRED reconfiguration response to corrupt the channel list while another thread is iterating it. Add l2cap_chan_hold() and l2cap_chan_lock() before l2cap_chan_del(), and l2cap_chan_unlock() and l2cap_chan_put() after, matching the pattern used in l2cap_ecred_conn_rsp() and l2cap_conn_del().

Affected products

Linux
  • <96dca51715d86559ed6ed8028e5445cecb80f3ae
  • =<6.1.*
  • ==5.7
  • =<*
  • <5501d055a1ce3c747141e3955ba8cf034d193f3e
  • <0ccd75c51f620374086f359e906917676e699a1c
  • =<5.15.*
  • <dc89961b76f12aff47124c1df4bdb32a080f4d0c
  • =<5.10.*
  • =<6.18.*
  • <77a853aec710b2fdf41fa298ea3cbc9a4358f917
  • =<6.6.*
  • =<6.12.*
  • =<7.0.*
  • <fe1188abdae9b7a8199dcdfcf9244d5e5d61eb14
  • <42776497cdbc9a665b384a6dcb85f0d4bd927eab
  • <5.7
  • <330b20ec97916961ee0e6c29c06bc0fa7c96e64c
Dismissed
(max. allowed matches exceeded)
created 2 months, 1 week ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
xfrm: espintcp: do not reuse an in-progress partial send

In the Linux kernel, the following vulnerability has been resolved: xfrm: espintcp: do not reuse an in-progress partial send espintcp keeps a single in-flight transmit in ctx->partial. Before building a new sk_msg, espintcp_sendmsg() first tries to flush that state through espintcp_push_msgs(). For blocking callers, espintcp_push_msgs() may return success even when the previous partial send is still pending. espintcp_sendmsg() would then reinitialize emsg->skmsg and reuse ctx->partial while the old transfer still owns that state. Do not rebuild the send message when ctx->partial is still in progress. If espintcp_push_msgs() returns with emsg->len still set, fail the new send instead of overwriting the live partial state. This is a memory-safety fix: reusing the live partial-send state can leave a stale offset attached to a new sk_msg and lead to an out-of- bounds read in the send path. tcp_sendmsg_locked() already handles waiting for send buffer memory, so the fix here is just to preserve espintcp's one-message-at-a-time transmit state.

Affected products

Linux
  • <8c6c691bf062dc0753a139a4ab8cb92a70fcf8f3
  • <aa82a078f70f7ff88ba7d1017134e79d1ac140f2
  • =<6.1.*
  • =<*
  • <5.6
  • =<5.15.*
  • <6564e9c7af7e1dc7bfe7f3093b728abe484d7630
  • =<5.10.*
  • =<6.18.*
  • <ba21439302db9a82fe4edbed1e38a97271529421
  • =<6.6.*
  • =<6.12.*
  • <c381039ade2e161ab08c0eda73c4f8b9a7115928
  • =<7.0.*
  • <f9b38a8fbfa07f1deaf7ee1eb38fa8b21ea13990
  • <37487d55bf3300e3d2c1368da5c2bd3e3834ea4f
  • <1777ceac4bea5e568a5ad44b7f9bb219c1db21b6
  • ==5.6