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 1 month ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
xfrm: ipcomp: Free destination pages on acomp errors

In the Linux kernel, the following vulnerability has been resolved: xfrm: ipcomp: Free destination pages on acomp errors Move the out_free_req label up by a couple of lines so that the allocated dst SG list gets freed on error as well as success.

Affected products

Linux
  • <dc6dcba80d72a27ab61831ad3d253316e0c9b9d5
  • <b30aa173c3809f6af4c83a86099be1be19aa48eb
  • <6.15
  • =<7.0.*
  • ==6.15
  • =<6.18.*
  • =<*
  • <7dbac7680eb629b3b4dc7e98c34f943b8814c0c8
Dismissed
(max. allowed matches exceeded)
created 1 month ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
netfilter: nf_tables: join hook list via splice_list_rcu() in commit phase

In the Linux kernel, the following vulnerability has been resolved: netfilter: nf_tables: join hook list via splice_list_rcu() in commit phase Publish new hooks in the list into the basechain/flowtable using splice_list_rcu() to ensure netlink dump list traversal via rcu is safe while concurrent ruleset update is going on.

Affected products

Linux
  • <a6134e62dba2ea4f760b29d5226907f447c92400
  • =<7.0.*
  • ==5.8
  • <1346be9379639c30877083b12747d4eacb83c24f
  • =<*
  • <5.8
Dismissed
(max. allowed matches exceeded)
created 1 month ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
net/sched: taprio: fix use-after-free in advance_sched() on schedule switch

In the Linux kernel, the following vulnerability has been resolved: net/sched: taprio: fix use-after-free in advance_sched() on schedule switch In advance_sched(), when should_change_schedules() returns true, switch_schedules() is called to promote the admin schedule to oper. switch_schedules() queues the old oper schedule for RCU freeing via call_rcu(), but 'next' still points into an entry of the old oper schedule. The subsequent 'next->end_time = end_time' and rcu_assign_pointer(q->current_entry, next) are use-after-free. Fix this by selecting 'next' from the new oper schedule immediately after switch_schedules(), and using its pre-calculated end_time. setup_first_end_time() sets the first entry's end_time to base_time + interval when the schedule is installed, so the value is already correct. The deleted 'end_time = sched_base_time(admin)' assignment was also harmful independently: it would overwrite the new first entry's pre-calculated end_time with just base_time.

Affected products

Linux
  • =<6.6.*
  • <7256996e1ef553716817f3bfd077c2f3b48b582f
  • <5.2
  • =<7.0.*
  • <a8fc396519ef4f081bc545e88f61241728bb78d7
  • <3471874578160a28c171a607fa069f24062634b8
  • <105425b1969c5affe532713cfac1c0b320d7ac2b
  • ==5.2
  • <0e62171df8ed4804d00db088f17eed06468233fa
  • =<6.1.*
  • =<6.18.*
  • <1bd286fa3e21200133478ed523cc6a2788baf38a
  • =<*
  • =<5.10.*
  • <eee072fe16c646190d33ae69c9983d8de1562bf8
  • =<5.15.*
  • =<6.12.*
  • <b73235da5dde77ed1264f9767b62c28c9d71fd78
Dismissed
(max. allowed matches exceeded)
created 1 month ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
sched/fair: Clear rel_deadline when initializing forked entities

In the Linux kernel, the following vulnerability has been resolved: sched/fair: Clear rel_deadline when initializing forked entities A yield-triggered crash can happen when a newly forked sched_entity enters the fair class with se->rel_deadline unexpectedly set. The failing sequence is: 1. A task is forked while se->rel_deadline is still set. 2. __sched_fork() initializes vruntime, vlag and other sched_entity state, but does not clear rel_deadline. 3. On the first enqueue, enqueue_entity() calls place_entity(). 4. Because se->rel_deadline is set, place_entity() treats se->deadline as a relative deadline and converts it to an absolute deadline by adding the current vruntime. 5. However, the forked entity's deadline is not a valid inherited relative deadline for this new scheduling instance, so the conversion produces an abnormally large deadline. 6. If the task later calls sched_yield(), yield_task_fair() advances se->vruntime to se->deadline. 7. The inflated vruntime is then used by the following enqueue path, where the vruntime-derived key can overflow when multiplied by the entity weight. 8. This corrupts cfs_rq->sum_w_vruntime, breaks EEVDF eligibility calculation, and can eventually make all entities appear ineligible. pick_next_entity() may then return NULL unexpectedly, leading to a later NULL dereference. A captured trace shows the effect clearly. Before yield, the entity's vruntime was around: 9834017729983308 After yield_task_fair() executed: se->vruntime = se->deadline the vruntime jumped to: 19668035460670230 and the deadline was later advanced further to: 19668035463470230 This shows that the deadline had already become abnormally large before yield_task_fair() copied it into vruntime. rel_deadline is only meaningful when se->deadline really carries a relative deadline that still needs to be placed against vruntime. A freshly forked sched_entity should not inherit or retain this state. Clear se->rel_deadline in __sched_fork(), together with the other sched_entity runtime state, so that the first enqueue does not interpret the new entity's deadline as a stale relative deadline.

Affected products

Linux
  • <6.12
  • <c71bf35caba12bfd9bc23e32b0bcd9e02d1cf1ac
  • =<7.0.*
  • <f3c16e1f4a314a20717ab90a41885f8111a242ab
  • ==6.12
  • =<6.18.*
  • <3da56dc063cd77b9c0b40add930767fab4e389f3
  • =<*
  • =<6.12.*
  • <8f4a16200785f49cf02c5b71bdfe7a9dab63f23a
Dismissed
(max. allowed matches exceeded)
created 1 month 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
  • =<7.0.*
  • <6eda0d771f94267f73f57c94630aa47e90957915
  • =<6.18.*
  • <32fdd2e38e7435a368d88f5977a7d6585ebc8b0e
  • <5.14
  • =<*
  • ==5.14
  • <3c7511f38ab511b791196b13ae48bf4973bf7dfd
Dismissed
(max. allowed matches exceeded)
created 1 month ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
netfilter: nfnetlink_osf: fix potential NULL dereference in ttl check

In the Linux kernel, the following vulnerability has been resolved: netfilter: nfnetlink_osf: fix potential NULL dereference in ttl check The nf_osf_ttl() function accessed skb->dev to perform a local interface address lookup without verifying that the device pointer was valid. Additionally, the implementation utilized an in_dev_for_each_ifa_rcu loop to match the packet source address against local interface addresses. It assumed that packets from the same subnet should not see a decrement on the initial TTL. A packet might appear it is from the same subnet but it actually isn't especially in modern environments with containers and virtual switching. Remove the device dereference and interface loop. Replace the logic with a switch statement that evaluates the TTL according to the ttl_check.

Affected products

Linux
  • =<6.6.*
  • <83fc5dd63455a779ea2dd0f7ffee3c920919d80b
  • <95be653a76793856ff8b2d8bd82c2943c23f5ca8
  • <edc806f9122961f0d3819f7c69c14cccde31f277
  • =<7.0.*
  • <79b90a96688e521771fa6ed3dc7864b76b8df293
  • <5d05de2f0928d81309a815ecc76d1a3ad72cbc16
  • =<6.18.*
  • <711987ba281fd806322a7cd244e98e2a81903114
  • <f4de0777e4554a7de19c920accde6319dd530782
  • =<*
  • ==2.6.31
  • =<5.10.*
  • =<6.1.*
  • =<5.15.*
  • =<6.12.*
  • <2.6.31
  • <c996a90f3071cf43683e5423da31aadbe002b8b4
Dismissed
(max. allowed matches exceeded)
created 1 month ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
batman-adv: tvlv: reject oversized TVLV packets

In the Linux kernel, the following vulnerability has been resolved: batman-adv: tvlv: reject oversized TVLV packets batadv_tvlv_container_ogm_append() builds a TVLV packet section from the tvlv.container_list. The total size of this section is computed by batadv_tvlv_container_list_size(), which sums the sizes of all registered containers. The return type and accumulator in batadv_tvlv_container_list_size() were u16. If the accumulated size exceeds U16_MAX, the value wraps around, causing the subsequent allocation in batadv_tvlv_container_ogm_append() to be undersized. The memcpy-style copy that follows would then write beyond the end of the allocated buffer, corrupting kernel memory. Fix this by widening the return type of batadv_tvlv_container_list_size() to size_t. In batadv_tvlv_container_ogm_append(), check the computed length against U16_MAX before proceeding, and bail out as if the allocation had failed when the limit is exceeded.

Affected products

Linux
  • ==3.13
  • <3.13
  • =<5.10.*
  • =<6.6.*
  • <ede47988ac5687793745b17c1634a496a2299919
  • <94a3d72cd9b21116d7c6d5bdc57c11401fc28557
  • =<7.0.*
  • <f50487e3566358b2b982b7801945e858c78ad9ab
  • <94db72e9dac202e017ee3db22c59d17e4f3bf171
  • <6448a49344e87487b61bd88cb850cd694a0f576d
  • <c02aa6c0c9d1bea9bb75dea362b75ad225137bae
  • =<6.18.*
  • =<*
  • <13493b00dd1e05a705981e052158652ea23eb482
  • =<6.1.*
  • =<5.15.*
  • =<6.12.*
  • <1595628a2f877d052eda18865ccf539392c47c04
Dismissed
(max. allowed matches exceeded)
created 1 month ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
net: ena: PHC: Fix potential use-after-free in get_timestamp

In the Linux kernel, the following vulnerability has been resolved: net: ena: PHC: Fix potential use-after-free in get_timestamp Move the phc->active check and resp pointer assignment to after acquiring the spinlock. Previously, phc->active was checked without holding the lock, and resp was cached from ena_dev->phc.virt_addr before the lock was acquired. If ena_com_phc_destroy() runs between the lockless active check and the lock acquisition, it sets active=false, releases the lock, frees the DMA memory, and sets virt_addr=NULL. The get_timestamp path would then read a NULL virt_addr and dereference it. With both the active check and the pointer read under the lock, destroy cannot free the memory while get_timestamp is using it.

Affected products

Linux
  • ==6.17
  • <ca9ed40f28949353911dcb524ff8fff2f3409c97
  • =<7.0.*
  • <95e8ae9af2a61b4e72f5c585bf4c7d8aaf2a2c98
  • <6.17
  • =<6.18.*
  • =<*
  • <e42c755582f0960e684298762f0ab927b3778376
Dismissed
(max. allowed matches exceeded)
created 1 month ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
drm/xe/dma-buf: fix UAF with retry loop

In the Linux kernel, the following vulnerability has been resolved: drm/xe/dma-buf: fix UAF with retry loop Retry doesn't work here, since bo will be freed on error, leading to UAF. However, now that we do the alloc & init before the attach, we can now combine this as one unit and have the init do the alloc for us. This should make the retry safe. Reported by Sashiko. v2: Fix up the error unwind (CI) (cherry picked from commit 479669418253e0f27f8cf5db01a731352ea592e7)

Affected products

Linux
  • <827062952ed9bdf4220466c1f05ce452d04bdedf
  • ==6.18
  • =<7.0.*
  • <6.18
  • <155a372a1cc50fa93387c5d3cdfd614a61e1afd1
  • =<6.18.*
  • =<*
  • <39fdac6be02eb7c3460518c1c4085f75f935c4ce
Dismissed
(max. allowed matches exceeded)
created 1 month ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
wifi: mt76: mt7996: fix use-after-free bugs in mt7996_mac_dump_work()

In the Linux kernel, the following vulnerability has been resolved: wifi: mt76: mt7996: fix use-after-free bugs in mt7996_mac_dump_work() When the mt7996 pci chip is detaching, the mt7996_crash_data is released in mt7996_coredump_unregister(). However, the work item dump_work may still be running or pending, leading to UAF bugs when the already freed crash_data is dereferenced again in mt7996_mac_dump_work(). The race condition can occur as follows: CPU 0 (removal path) | CPU 1 (workqueue) mt7996_pci_remove() | mt7996_sys_recovery_set() mt7996_unregister_device() | mt7996_reset() mt7996_coredump_unregister() | queue_work() vfree(dev->coredump.crash_data) | mt7996_mac_dump_work() | crash_data-> // UAF Fix this by ensuring dump_work is properly canceled before the crash_data is deallocated. Add cancel_work_sync() in mt7996_unregister_device() to synchronize with any pending or executing dump work.

Affected products

Linux
  • =<7.0.*
  • <aa4a31cd89f4fde5043ac613fe0e27014a60a60b
  • =<6.18.*
  • <180182a3f23ff79430a32ca2c4c1885368ceab48
  • <6.4
  • =<*
  • ==6.4
  • <c8f62f73bbced3a79894655bdb0b625462d956fc
  • =<6.12.*
  • <188e10f9ea3109d23c6b7643aa6ec2f5cb0faa6d