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, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
drm/fb-helper: Only consider active CRTCs for vblank sync

In the Linux kernel, the following vulnerability has been resolved: drm/fb-helper: Only consider active CRTCs for vblank sync Only synchronize fbdev output to the vblank of an active CRTC. Go over the list of CRTCs and pick the first that matches. Fixes warnings as the one shown below [ 77.201354] WARNING: drivers/gpu/drm/drm_vblank.c:1320 at drm_crtc_wait_one_vblank+0x194/0x1cc [drm], CPU#1: kworker/1:7/1867 [ 77.201354] omapdrm omapdrm.0: [drm] vblank wait timed out on crtc 0 This currently happens if the fbdev output is not on CRTC 0. Atomic and non-atomic drivers require distinct code paths. As for other fbdev operations, implement both and select the correct one at runtime. Not finding an active CRTC is not a bug. Do not wait in this case, but flush the display update as before. v4: - avoid possible deadlocks with locking context (Sashiko) v3: - drop excessive state validation (Jani) - acquire plane and CRTC mutices (Sashiko) v2: - move look-up code into separate helper - support drivers with legacy modesetting v1: - see https://lore.kernel.org/dri-devel/1c9e0e24-9c4a-4259-8700-cf9e5fd60ca3@suse.de/

Affected products

Linux
  • =<*
  • ==6.19
  • <06c2b8d7ea2bcb014dd974fc3bc6d128d65d7477
  • <7d84acf641afb68aa8efe40815ef43779ddb12fd
  • =<7.1.*
  • <6.19
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
scsi: libiscsi: Fix stale-data leak into the SCSI sense buffer

In the Linux kernel, the following vulnerability has been resolved: scsi: libiscsi: Fix stale-data leak into the SCSI sense buffer iscsi_scsi_cmd_rsp() copies the sense data of a SCSI Response from the target-supplied data segment. The segment carries a 2-byte sense length followed by the sense bytes, so it must hold 2 + senselen bytes, but the bounds check only requires datalen >= senselen: senselen = get_unaligned_be16(data); if (datalen < senselen) goto invalid_datalen; memcpy(sc->sense_buffer, data + 2, min_t(uint16_t, senselen, SCSI_SENSE_BUFFERSIZE)); A target that returns a SCSI Response whose datalen equals senselen (with senselen <= SCSI_SENSE_BUFFERSIZE) makes the memcpy() from data + 2 read up to two bytes past the received data. Those bytes are stale conn->data contents and end up in the command's sense buffer, which is returned to userspace. Account for the 2-byte sense length prefix in the check.

Affected products

Linux
  • <1f07a897d43c63e6c9458bf77450defef39b5833
  • ==2.6.18
  • <3ef209ca0b4b68c75e9a814d90cc916026b5a6ac
  • <2.6.18
  • <98b87885de4b7f605533a2860685f5689fce8e82
  • <7567f06abdefb1caf2d836107c4d08c5185c650e
  • =<6.6.*
  • =<*
  • <60499924faf4ef97e84228c20515218ef121facf
  • =<6.18.*
  • =<6.12.*
  • =<7.1.*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
mtd: maps: vmu-flash: fix fault in unaligned fixup

In the Linux kernel, the following vulnerability has been resolved: mtd: maps: vmu-flash: fix fault in unaligned fixup Use kzalloc_obj() / kzalloc_objs() to allocate the memcard structs, instead of kmalloc_obj() / kmalloc_objs() to prevent access to uninitialized data. Fixes runtime error: Fault in unaligned fixup: 0000 [#1] at mtd_get_fact_prot_info.

Affected products

Linux
  • ==2.6.30
  • =<*
  • <01928835d80829e615a492aa66c629b953ec7bef
  • <2.6.30
  • =<6.18.*
  • =<6.12.*
  • <455519f6b70f46ac6cbf41a75ac76ec5e59040f2
  • <79d1661502c6e4b6f626185cef72cf2fa78116e1
  • =<7.1.*
  • <19360c25135fccb6bbafbee49a5f66baf9a311af
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
apparmor: fix refcount leak when updating the sk_ctx

In the Linux kernel, the following vulnerability has been resolved: apparmor: fix refcount leak when updating the sk_ctx Currently update_sk_ctx() transfers the plabel reference, unfortunately it is also unconditionally put in the caller. Ideally we would make the caller conditionally put the reference based on whether it was transferred but for now just fix the bug by getting a reference.

Affected products

Linux
  • <6.17
  • ==6.17
  • =<*
  • <6d25e7b47616cb2db43351210929c8f19dc305a3
  • =<6.18.*
  • =<7.1.*
  • <045dbe89ac31709abd73390d0805d52fece7ef39
  • <b8642f1478982a97ca2eb59f70f631a9de42ae11
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
tipc: avoid use-after-free in poll trace queue dumps

In the Linux kernel, the following vulnerability has been resolved: tipc: avoid use-after-free in poll trace queue dumps TIPC socket tracepoints dump queue state through tipc_sk_dump(). Most queue-dump callsites already serialize that walk under the socket lock or sk->sk_lock.slock, but tipc_poll() calls trace_tipc_sk_poll(..., TIPC_DUMP_ALL, ...) without holding either lock. That lets the poll trace path reach tipc_list_dump() and backlog head/tail dumping while another context dequeues and frees an skb, leaving the trace helper dereferencing a stale queue entry. Stop the unlocked poll trace site from requesting queue dumps. Other queue dump trace callsites keep their existing output under the locking they already provide, while poll still emits the event itself without walking live queue members from an unlocked context.

Affected products

Linux
  • <bed792737b5f1ba773054dbe984502958bdfe6ce
  • <d7940bb6a8e7ab28f972c2875cb05783216312dc
  • =<6.6.*
  • <5e82beba4bc1f91d0e64c9c43f2b2fa9cd1c2a7d
  • ==5.0
  • =<*
  • <5.0
  • =<6.18.*
  • =<6.12.*
  • <b4f1719dfea023220e0e6bd892b087d76b2a6a49
  • =<7.1.*
  • <ac2f787980fdf4364cd5651a4c8128e59b8de3aa
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
net/sched: cls_u32: validate offshift to prevent shift-out-of-bounds

In the Linux kernel, the following vulnerability has been resolved: net/sched: cls_u32: validate offshift to prevent shift-out-of-bounds u32_change() copies the user-provided tc_u32_sel.offshift (unsigned char, 0-255) into the kernel knode object without bounds validation. When a packet later hits u32_classify() with TC_U32_VAROFFSET set, it evaluates `ntohs(offmask & *data) >> offshift` where the left operand is a 16-bit value promoted to a 32-bit int. Any offshift >= 32 is undefined behavior per C11 6.5.7p3, triggerable by an unprivileged user via user/network namespaces. UBSAN: shift-out-of-bounds in net/sched/cls_u32.c:236:43 shift exponent 32 is too large for 32-bit type int Fix this by rejecting offshift >= 16 during filter creation in u32_change().

Affected products

Linux
  • <313cb9ffc4101a885d791facf4b5ea3d5e06144d
  • =<*
  • <2.6.12
  • =<7.1.*
  • ==2.6.12
  • <aef96eead2860cbfa371e4471d4f04412213b958
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
netfilter: ipset: do not update comments from kernel-side hash adds

In the Linux kernel, the following vulnerability has been resolved: netfilter: ipset: do not update comments from kernel-side hash adds mtype_resize() copies comment pointers with memcpy(), not the comment objects themselves. During the window after an entry has been copied but before the table swap and backlog replay, the old table is still published for packet-side updates while the replacement-table entry already holds the same ip_set_comment_rcu pointer. If xt_SET --add-set ... --exist hits that old entry in this window, mtype_add() calls ip_set_init_comment() even though packet-side adds carry no comment payload. That call frees the shared comment through the old entry, so the replacement-table entry now holds a stale pointer. When the queued add is replayed on the new table, mtype_add() calls ip_set_init_comment() again and strlen() dereferences the stale pointer. Fix this in mtype_add() by skipping ip_set_init_comment() when ext->target marks a packet-side add. Userspace adds still update comments, while packet-side adds can no longer free comment storage shared with a resize copy.

Affected products

Linux
  • =<*
  • <4ae701848e4ba9e9713375fb7d82218cbd309da2
  • ==5dd9488ae41070b69d2f4acb580f77db5705f9ca
  • ==a469bab3386aebff33c59506f3a95e35b91118fd
  • =<6.6.*
  • <5.6
  • <5.5
  • <c710e9bf38e4e71a8db85d26a0f70c0674664207
  • <77dbb248a5cc7a5270cd37bbb0b635bf059a872a
  • <f30415929be8aeb002d557c8d3f7ab2d2188003a
  • <5.6
  • =<6.12.*
  • =<6.18.*
  • =<7.1.*
  • ==5.6
  • <661ff9c0cfbe07f8eed920dde9f7781491738207
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
mm/damon/sysfs-schemes: put stats for scheme_add_dirs() internal error

In the Linux kernel, the following vulnerability has been resolved: mm/damon/sysfs-schemes: put stats for scheme_add_dirs() internal error damon_sysfs_scheme_add_dirs() setup the tried_regions directory after the stats directory setup is completed. When the tried_regions directory setup is failed, the setup function ensures the reference for the tried regions directory is released. Hence the error path should put references on setup succeeded directory objects, starting from the stats directory. However, the error path is putting the tried_regions directory instead of the stats directory. As a direct result, the stats directory object is leaked. Worse yet, if the tried_regions directory setup failed from the initial allocation, the scheme->tried_regions field remains uninitialized. The following kobject_put(&scheme->tried_regions->kobj) call in the error path will dereference the uninitialized memory. The setup failures should not be common. But once it happens, the consequence is quite bad. Fix this issue by correctly putting the stats directory instead of the tried_regions directory. The issue was discovered [1] by Sashiko.

Affected products

Linux
  • ==6.2
  • =<6.6.*
  • =<*
  • <50a753171d255895e5dd41566986b48dcec06f31
  • <6b6b5d7c2c957136b92c00b77b7175259f13082b
  • <6.2
  • =<6.18.*
  • =<6.12.*
  • <f63d6e5ba72aeacdee4fddc902bd7616cd62b919
  • =<7.1.*
  • <05ea83ee88ca70f8932906d9f2617ff996f45b50
  • <40a04601a3f66cabd6629c258a07af645a658865
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
drm/radeon: fix integer overflow in radeon_align_pitch()

In the Linux kernel, the following vulnerability has been resolved: drm/radeon: fix integer overflow in radeon_align_pitch() radeon_align_pitch() has the same kind of overflow issue as the old amdgpu helper: both the alignment round-up add and the final 'aligned * cpp' calculation can overflow signed int. If that wraps, radeon_mode_dumb_create() can end up returning an invalid pitch or creating a zero-sized dumb buffer. Fix this by using check_add_overflow() for the alignment round-up and check_mul_overflow() for the final pitch calculation, returning 0 on overflow. Also reject zero pitch and size in radeon_mode_dumb_create(). Found via AST-based call-graph analysis using sqry.

Affected products

Linux
  • <ce3b24eb3ee8f82de851535f516bf21f83e82259
  • <d9dfa176899d488e48bb7342d2c43ddd36e66318
  • <b7b44937c548c2c987fcdd129f8896741004bed6
  • <2.6.39
  • =<6.6.*
  • =<*
  • =<6.18.*
  • <dfc7b5b5599472277e71e5bd2712740651c7c5be
  • =<6.12.*
  • =<7.1.*
  • <415bb9893e249e46aa5159f7363a11512cf06fa9
  • ==2.6.39
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 4 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
perf/x86/amd/brs: Fix kernel address leakage

In the Linux kernel, the following vulnerability has been resolved: perf/x86/amd/brs: Fix kernel address leakage A user-only branch stack can contain branches that originate from the kernel. As a result, kernel addresses are exposed to user space even when PERF_SAMPLE_BRANCH_USER is requested. On AMD processors supporting X86_FEATURE_BRS (Zen 3 only), perf can still report entries such as SYSRET/interrupt returns for which the branch-from addresses are in the kernel. E.g. $ perf record -j any,u -c 4000 -e branch-brs -o - -- \ perf bench syscall basic --loop 1000 | \ perf script -i - -F brstack|tr ' ' '\n'| \ grep -E '0x[89a-f][0-9a-f]{15}' ... 0xffffffff810001c4/0x72e2e32955eb/-/-/-/0//- 0xffffffff810001c4/0x72e2d94a9821/-/-/-/0//- 0xffffffff810001c4/0x72e2d94ffa1b/-/-/-/0//- ... BRS provides no hardware branch filtering, so privilege level filtering is performed entirely in software. However, amd_brs_match_plm() only validates the branch-to address against the requested privilege levels. For branches from the kernel to user space, the branch-from address is left unchecked and is leaked. Extend the software filter to also validate the branch-from address, so that any branch record whose branch-from address is in the kernel is dropped when PERF_SAMPLE_BRANCH_USER is requested.

Affected products

Linux
  • <2e706be56f418718bb3ae66c0aa94f9b61150e6d
  • <5.19
  • =<*
  • <90843d00dbc61220b66408ea0d8775cae9e51f70
  • =<6.6.*
  • <ac44b4a3d6137489f8fa2e794b12e849c6b22eaa
  • ==5.19
  • =<6.18.*
  • =<6.12.*
  • =<7.1.*
  • <47915e855fb38b42133e31ba917d99565f862154
  • <046f6244da9b68e463a849b21446b9424e531491