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 3 weeks, 3 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
KVM: arm64: account pKVM reclaim against the VM mm

In the Linux kernel, the following vulnerability has been resolved: KVM: arm64: account pKVM reclaim against the VM mm Protected guest faults charge long term pins to the VM's mm. Teardown can run later from file release, where current->mm may be unrelated. Drop the charge from kvm->mm instead.

Affected products

Linux
  • <d098bb75d14fde2f12155f1a95ec0168160867ce
  • =<*
  • <7.1
  • <34d8d7242c52c174add6b413d56420aa60f8054c
  • =<7.1.*
  • ==7.1
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 3 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
ipmi: fix refcount leak in i_ipmi_request()

In the Linux kernel, the following vulnerability has been resolved: ipmi: fix refcount leak in i_ipmi_request() When a caller provides a `supplied_recv` message to i_ipmi_request(), the function increments the user's `nr_msgs` reference count. If an error occurs later, the out_err cleanup path only frees the recv_msg if the function allocated it itself (i.e., !supplied_recv). In the supplied_recv case the cleanup is skipped, leaving the reference count elevated. The caller ipmi_request_supply_msgs() does not release the supplied_recv on error, so the reference is permanently leaked. Fix this by explicitly reverting the reference count operations when a supplied recv_msg with a valid user pointer is present in the error path: decrement nr_msgs and drop the user's kref.

Affected products

Linux
  • <e2a3b77df6aef031455dd83ea8ed4344b7dca1f9
  • <f5c5065963024390ddad51bd455d1adc710de575
  • <6.18
  • <9409e18ffe7378d202efe1cf69989df9f67b0369
  • <a3f3859cecacb64f18fd446271ece9a3b3f2d4de
  • ==0ed73be9a2547ffb9b5c1d879ad9bfab73d920b5
  • <6.12.101
  • <6.2
  • <6.18
  • <0fd23994ec8c5436d9f0b50848deb87ed933e6b3
  • ==6.18
  • <6.6.148
  • =<6.6.*
  • =<*
  • =<6.18.*
  • =<6.12.*
  • =<7.1.*
  • ==f63723ca7d7623f9dae1990973cd158671f03c56
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 3 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
KVM: s390: pci: Reject adapter interrupt forwarding if already enabled

In the Linux kernel, the following vulnerability has been resolved: KVM: s390: pci: Reject adapter interrupt forwarding if already enabled The MPCIFC instruction doesn't allow registering adapter interrupts without first unregistering. So reject any request to enable interrupt forwarding if its already enabled for the zPCI device. This also fixes overwriting and thus leaking resources when the ioctl is called multiple times for the same device.

Affected products

Linux
  • <78d9648e7e960546d5b72504a0b0358cd8bb1e9d
  • <6.0
  • ==6.0
  • <8fa01be5a6149404adb82c0979a78f6347edd3ef
  • =<6.6.*
  • =<*
  • <591952b63a9f976da7d49f719f36ec826ee2a575
  • <6837f0ae85fd54cf64c8a0c7c530bba2fae0a207
  • =<6.18.*
  • =<6.12.*
  • =<7.1.*
  • <6be1ff49ba81f96a6fa55915e6d920be43ac57cc
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 3 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
net: microchip: vcap: fix races on the shared Super VCAP block

In the Linux kernel, the following vulnerability has been resolved: net: microchip: vcap: fix races on the shared Super VCAP block The VCAP instances on a chip are not independent, yet they are locked independently. On sparx5 and lan969x the IS0 and IS2 instances are backed by the same Super VCAP hardware block and share its cache and command registers: every access drives the shared VCAP_SUPER_CTRL register and moves data through the shared cache registers. Accessing one instance therefore races with accessing another. The per-instance admin->lock cannot prevent this, as each instance takes a different lock. The locking issue is mostly disguised by the fact that the core usage of the vcap api runs under rtnl. However, the full rule dump in debugfs decodes rules straight from hardware (a READ command followed by a cache read) and runs outside rtnl, so it races a concurrent tc-flower rule write to another Super VCAP instance. Besides corrupting the dump, the read repopulates the shared cache between the writers cache fill and its write command, so the writer commits the wrong data and corrupts the hardware entry. Introduce vcap_lock() and vcap_unlock() helpers and route every rule lock site in the VCAP API and its debugfs code through them. Replace the per-instance admin->lock with a single mutex in struct vcap_control that serializes access to all instances. The helpers reach it through a new admin->vctrl back-pointer, and the clients initialise and destroy the control lock instead of a per-instance one. No path holds more than one instance lock, so collapsing them onto a single mutex cannot self-deadlock.

Affected products

Linux
  • <d7a8d500d7e42837bd8dce40cb52c97c6e8706a9
  • <1e71a40d101547380590db582213c1f1dce1f041
  • <49806bef9572a2e012610517bc14ed0a4db0d1fc
  • ==6.2
  • =<6.6.*
  • =<*
  • <786456d0a244bbd405dfc60e4de51f8b348b9cb1
  • <6.2
  • =<6.18.*
  • <952928564cc5fdb06f92d7e25c6cd2e1d816362b
  • =<6.12.*
  • =<7.1.*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 3 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
hwmon: (pmbus) Fix passing events to regulator core

In the Linux kernel, the following vulnerability has been resolved: hwmon: (pmbus) Fix passing events to regulator core Sashiko reports: Commit 754bd2b4a084 ("hwmon: (pmbus/core) Protect regulator operations with mutex") introduced a worker to batch regulator events over time using atomic_or(). The delayed worker then passes the combined bitmask unmodified to regulator_notifier_call_chain(). The core regulator subsystem's regulator_handle_critical() function evaluates the event parameter using a strict switch statement. If multiple distinct faults occur before the worker runs (e.g., REGULATOR_EVENT_UNDER_VOLTAGE | REGULATOR_EVENT_OVER_CURRENT), the combined bitmask fails to match any case. This leaves the reason as NULL and completely bypasses the critical hw_protection_trigger(). Fix the problem by passing events bit by bit to the regulator event handler.

Affected products

Linux
  • <b0ff6b6ae9c5183ef701ece7016698bde5a5bfba
  • <6.20
  • ==2c77ae315f3ce9d2c8e1609be74c9358c1fe4e07
  • =<6.6.*
  • =<*
  • <48fe43666950efefb7ac5fbdc012c1b3604096bf
  • <9ef7dacd44216bf5ea05c8aef49eba4d145f4047
  • <2106bf4056858fcce3624e0c51f6fee4d41d3f2f
  • <6.12.97
  • <6.18.40
  • ==7.0
  • <489291b6b56978cc50d34e8e13f9636ea296ba8a
  • <7.0
  • =<6.12.*
  • =<6.18.*
  • =<7.1.*
  • <6.6.145
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 3 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
ksmbd: reject undersized DACLs before parsing ACEs

In the Linux kernel, the following vulnerability has been resolved: ksmbd: reject undersized DACLs before parsing ACEs parse_dacl() limits the attacker-controlled ACE count by comparing it with the number of minimal ACEs that fit in the DACL size. The DACL size field is 16 bits, but the expression subtracts sizeof(struct smb_acl). Because sizeof() is unsigned, a DACL size smaller than the ACL header underflows to a large size_t. A malicious client can reach this with: SMB2_SET_INFO (InfoType=SMB2_O_INFO_SECURITY) -> smb2_set_info_sec() -> set_info_sec() -> parse_sec_desc() -> parse_dacl() -> init_acl_state(..., 0xffff) -> init_acl_state(..., 0xffff) -> kmalloc_objs(..., 0xffff) Thus a malformed security descriptor can make num_aces pass the guard and drive large temporary ACL state and pointer-array allocations. Reject DACLs smaller than struct smb_acl before doing the subtraction, so the ACE count check cannot be bypassed by the underflow.

Affected products

Linux
  • <5.15
  • =<6.6.*
  • =<*
  • <d020e7f27bf65eecd3805404702f716b2b6d9e73
  • ==5.15
  • =<6.18.*
  • =<6.12.*
  • <60908f7ebcd9b6cde74ad5711fab0f49c7970949
  • <15a9e9b8f7f5d7f380ae54c6f5bcbc0bdcb0f3cd
  • <16fb65ec15fe7c90f50a2115854bfd9a032d4023
  • =<7.1.*
  • <282847c0cf22f2e961155ac8e42f6eeab7e16049
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 3 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
dm era: fix NULL pointer dereference in metadata_open()

In the Linux kernel, the following vulnerability has been resolved: dm era: fix NULL pointer dereference in metadata_open() metadata_open() returns NULL when kzalloc_obj() fails, but the caller era_ctr() only checks IS_ERR(md). Since IS_ERR(NULL) returns false, the NULL pointer is treated as a valid result and later assigned to era->md, leading to a NULL pointer dereference when the metadata is accessed. Fix this by returning ERR_PTR(-ENOMEM) on allocation failure, consistent with dm-cache-metadata.c, dm-thin-metadata.c, and dm-clone-metadata.c which all use ERR_PTR(-ENOMEM) for the same pattern.

Affected products

Linux
  • =<5.10.*
  • =<6.6.*
  • <889374b8e4a60d13fe4a5a8ae3a311ca93d1a2c3
  • =<*
  • ==3.15
  • <01c49eae7c6256f2d8cc08210a2bac3ee070e43a
  • <14e03ecd3b1b5fc03c082b27a2f8889f8290c30e
  • <3.15
  • =<6.12.*
  • =<6.18.*
  • <bd5a80128bdfc93b1cae935a70da000b8c483e6e
  • <a705e056c2f3dd067fb2ff414f0537530baa090b
  • <9ae672606c17891d90b282e3490b817620549599
  • =<5.15.*
  • =<7.1.*
  • <17eb2ab13edd0b06ce6f996c5fd450d7efabb2e8
  • <b69ea153d30ce19ca8997eeeca1e2219fae5a29b
  • =<6.1.*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 3 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
wifi: mac80211: validate extension-frame layout before RX

In the Linux kernel, the following vulnerability has been resolved: wifi: mac80211: validate extension-frame layout before RX Extension frames only have the extension header at the regular 802.11 header offset. The generic RX path can still reach helpers and interface dispatch code that read regular header address fields before unsupported extension subtypes are dropped. mac80211 currently only handles S1G beacon extension frames. Drop other extension subtypes before they can reach regular-header RX processing. For S1G beacons, linearize the SKB with the management-frame path and require the fixed S1G beacon header, including optional fixed fields indicated by frame control, before generic RX dispatch. Route S1G beacons through the station/default-link RX path without regular-header station lookup. Avoid regular-header address reads in the mac80211 RX paths that process S1G extension beacons, including accept-frame, duplicate-detection, address-copy, and MLO address-translation paths. Also make ieee80211_get_bssid() length-safe before returning the S1G source-address pointer.

Affected products

Linux
  • <57d503ce32eccfa7650065ca4c560f7e29a2e676
  • <5.10
  • =<*
  • =<7.1.*
  • ==5.10
  • <625fc704b19cb48d7d269ad54ffffb4d3bf9c7ed
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 3 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
cgroup/cpuset: rebind mm mempolicy to effective_mems, not mems_allowed

In the Linux kernel, the following vulnerability has been resolved: cgroup/cpuset: rebind mm mempolicy to effective_mems, not mems_allowed Creating a child cpuset where cpuset.mems is never set leads to a div/0 when a VMA mempolicy with MPOL_F_RELATIVE_NODES rebinds in response to a CPU hotplug event. Reproduction steps: 1) Create a cgroup w/ cpuset controls (do not set cpuset.mems) 2) Move the task into the child cpuset 3) Create a VMA mempolicy for that task with MPOL_F_RELATIVE_NODES 4) unplug and hotplug a cpu echo 0 > /sys/devices/system/cpu/cpu1/online echo 1 > /sys/devices/system/cpu/cpu1/online 5) mempolicy rebind does a div/0 in mpol_relative_nodemask on the call to __nodes_fold() The cpuset code passes (cs->mems_allowed) which is not guaranteed to have nodes to the rebind routine. Use cs->effective_mems instead, which is guaranteed to have a non-empty nodemask once we reach that code path. [ david: add a comment, slightly rephrase description ]

Affected products

Linux
  • <c844b7d9a9586de15dd28c06da5cc7f6ab28787d
  • =<5.10.*
  • <b7adeba2a21c98c7b20f18e27e3ead86bdb5e08d
  • =<6.6.*
  • <3.17
  • =<*
  • <fcc8c310539c3cc523419113b227161a96b50550
  • <4b06449384b9ee5b3372bab60601ba5cd4162086
  • =<6.18.*
  • =<6.12.*
  • ==3.17
  • <b983c56426383e4a06fa5970c4e33cee879b1482
  • <02f67c4f88be8e3dbd91951d13cdcc5bcc82e9c7
  • =<5.15.*
  • =<7.1.*
  • <c17f06d8a085d6be58b544a440ce243f5e441a60
  • <fc680afc510157f6b137956011c09abc23eb0842
  • =<6.1.*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 3 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
batman-adv: tt: avoid request storms during pending request

In the Linux kernel, the following vulnerability has been resolved: batman-adv: tt: avoid request storms during pending request batadv_send_tt_request() allocates a tt_req_node when none exists for the destination originator node. This should prevent that a multiple TT requests are send at the same time to an originator. But if allocation of the send buffer failed, this request must be cleaned up again. But indicator for such a failure is "ret == false". But the actual implementation is checking for "ret == true". The check must be inverted to not loose the information about the TT request directly after it was attempted to be sent out. This should avoid potential request storms.

Affected products

Linux
  • <6a65ac8a81e903bb4b555c1d13532f5cb0167a4a
  • =<5.10.*
  • <716f434eb35869e130424331584a91fbb729b9bd
  • <067e413eec2e63c2996909ef55214b3a0eda0be7
  • ==3.13
  • =<6.6.*
  • =<*
  • <5e46c76d9a5062212c4c5f642a5549fd9c057f8a
  • <aba1cf21954e64c36afb966b754adad2b0b8aa48
  • <6055695ea40c64a47e00742c12c99b1a33b4daed
  • =<6.18.*
  • =<6.12.*
  • <21c44a6895f41df811d1c91d10eea194dda2b345
  • <3.13
  • <27c7d40008231ae4140d35501b60087a9de2d2c3
  • =<5.15.*
  • =<7.1.*
  • =<6.1.*