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
dm: avoid leaking the caller's thread keyring via the table device file

In the Linux kernel, the following vulnerability has been resolved: dm: avoid leaking the caller's thread keyring via the table device file The refactoring in commit a28d893eb327 ("md: port block device access to file") accidentally causes the caller's thread keyring to be kept alive long beyond the caller's lifetime. As a result, "cryptsetup luksSuspend" silently fails to wipe the LUKS volume key from memory. In detail: "cryptsetup luksOpen" uses its supposedly ephemeral thread keyring to pass the volume key to the kernel. dm-crypt's crypt_set_keyring_key() copies the key material into its own crypt_config structure and then drops its own reference to the key in the keyring with key_put(). With this fix, restoring pre-v6.9 behavior, the copy in the thread keyring is then promptly garbage collected, such that exactly one copy of the volume key remains. This single copy is correctly wiped from memory on "cryptsetup luksSuspend". Without this fix, the thread keyring and the volume key in it remains. This second copy is only freed on "luksClose". "luksSuspend" neither knows about this copy nor has any way to remove it, so the key remains recoverable from RAM after a suspend that is documented to have wiped it. This fix should not introduce new security problems, as the code is anyway gated by CAP_SYS_ADMIN. The device-mapper core, not the calling task, is the legitimate owner of this long-lived file.

Affected products

Linux
  • <d3eb8451d529ea452740d1a2bc395a1d20c48133
  • <f00105be6a593920e9bc7949a069d4a116888851
  • =<*
  • <6.9
  • ==6.9
  • =<6.18.*
  • =<6.12.*
  • <981ccd97f7153d310dfa92a534525bbaf46752c2
  • <8ced1d242c34e342defcccdb00663354f212aae6
  • =<7.1.*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 3 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
bpf: fix BPF_PROG_QUERY OOB write and cgroup backward compat

In the Linux kernel, the following vulnerability has been resolved: bpf: fix BPF_PROG_QUERY OOB write and cgroup backward compat BPF_PROG_QUERY writes back the 'query.revision' field unconditionally to userspace. If userspace passes a smaller 'bpf_attr' structure (e.g. 40 bytes, which was the layout before the addition of 'query.revision'), the kernel performs an out-of-bounds write. Fix this by propagating the user-provided attribute size 'uattr_size' down to the cgroup query handlers, and conditionally skipping writing the revision field to userspace when the provided buffer size is insufficient. query.revision in bpf_mprog_query is structurally identical to the cgroup case: a late tail field, written unconditionally. But the backward-compat hazard is not the same. The min-historical-size test is per command, and bpf_mprog_query only serves attach types that were born with revision in the struct: - tcx_prog_query -> BPF_TCX_INGRESS/EGRESS - netkit_prog_query -> BPF_NETKIT_PRIMARY/PEER tcx, netkit, the revision field, and bpf_mprog_query itself all landed in the same v6.6 merge window (053c8e1f235d added the mprog query API + revision; tcx in e420bed02507, netkit in 35dfaad7188c). There has never been a tcx/netkit BPF_PROG_QUERY userspace that doesn't know about revision. So for these commands the minimum legitimate struct already covers offset 56-64 — no old binary can be broken here. Contrast with cgroup: BPF_PROG_QUERY on cgroup attach types shipped in 2017; revision write-back was bolted on years later (120933984460). That path has a real population of pre-revision callers.

Affected products

Linux
  • <d3d630e8a7f3421bc2d204b87bdff35b4432a8e3
  • <a7131340d0f95df9a541257dccab5d85e6bcdd2b
  • <6.17
  • ==6.17
  • =<*
  • =<6.18.*
  • =<7.1.*
  • <21c4b99b27f3f85b89256e81b3e997dec0a460d0
Dismissed
(no matching packages found)
Permalink CVE-2026-73055
9.3 CRITICAL
  • CVSS version (CVSS): 4.0
  • Attack Vector (AV): Network (N)
  • Attack Complexity (AC): Low (L)
  • Attack Requirement (AT): None (N)
  • Privileges Required (PR): None (N)
  • 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): None (N)
  • 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 3 weeks, 3 days ago Activity log
  • Created & dismissed (no matching packages found) suggestion
Shescape before 2.1.15 Home Directory Disclosure via BusyBox

Shescape before 2.1.15 (and 3.0.0 before 3.0.2) fails to properly escape tilde (~) characters in assignment contexts on Unix systems where the shell is explicitly configured to "sh" or true and /bin/sh points to BusyBox. Using the escape and escapeAll APIs with untrusted input in an assignment prefixed to a command, an attacker can inject a tilde payload to disclose the user's home directory location and, depending on usage, alter the location on which a command operates.

Affected products

shescape
  • <2.1.15
  • ==2.1.15
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 3 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
rtc: msc313: fix NULL deref in shared IRQ handler at probe

In the Linux kernel, the following vulnerability has been resolved: rtc: msc313: fix NULL deref in shared IRQ handler at probe msc313_rtc_probe() calls devm_request_irq() with IRQF_SHARED and &pdev->dev as the cookie, but platform_set_drvdata() is only called later after the clock setup. With a shared IRQ line, another device on the same line can trigger the handler in that window. The handler does dev_get_drvdata() on the cookie, gets NULL, and dereferences priv->rtc_base in interrupt context. Pass priv as the cookie directly so the handler reads it from dev_id without the lookup, removing the dependency on probe order.

Affected products

Linux
  • <bc1f61a9b97d65de21c2681bcf0b5b1392c58486
  • =<6.6.*
  • <52c73b6992b46ed476590ed526faa033d4fbfc5d
  • =<*
  • ==5.16
  • <bb3e624808c981fe881cb79037be63e680ed7d38
  • =<6.18.*
  • =<6.12.*
  • <ece7b9ffde23e2ccd7567761ac27463ded43932c
  • =<7.1.*
  • <5.16
  • <a369f48be8de426a7d2bca18dbd46c2ad1138803
  • =<6.1.*
  • <1f6a4aec0d36647eb2f67cd69db22bd28cabe2cb
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 3 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
apparmor: fix race in unix socket mediation when peer_path is used

In the Linux kernel, the following vulnerability has been resolved: apparmor: fix race in unix socket mediation when peer_path is used The holding a reference to the peer_sk is not enough to ensure access to the peer sk path. Accessing the path outside of the state lock allows for a race with unix_release_sock(). Fix this by taking the state lock and getting a reference to the path under lock. Ideally for connected sockets we would cache this information so we don't have to take the lock here. But for now just fix the race.

Affected products

Linux
  • <d680472db98823d90fc91362910901e468269318
  • <6.17
  • ==6.17
  • =<*
  • =<6.18.*
  • =<7.1.*
  • <b1aea2c1960771a276d7e68c7424168eccd0c3da
  • <d8ea44f6090c087fe255d9512fb808574b4d88e8
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 3 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
ocfs2: fix UBSAN array-index-out-of-bounds in ocfs2_sum_rightmost_rec

In the Linux kernel, the following vulnerability has been resolved: ocfs2: fix UBSAN array-index-out-of-bounds in ocfs2_sum_rightmost_rec [BUG] On-disk corruption setting l_next_free_rec to 0 in an inode's embedded extent list triggers a UBSAN panic on the next write to that file. [CAUSE] ocfs2_sum_rightmost_rec() computes i = le16_to_cpu(el->l_next_free_rec) - 1 and accesses el->l_recs[i] without validating i. When l_next_free_rec is 0, i becomes -1; when l_next_free_rec exceeds l_count, i falls past the end of the array. Either case violates the __counted_by_le(l_count) annotation on l_recs[] and triggers UBSAN. [FIX] Validate the inode's embedded extent list when the inode is read, in ocfs2_validate_inode_block(): l_count must be non-zero and no larger than the inode block can hold, and l_next_free_rec must not exceed l_count. A corrupt list is rejected at read time, before the b-tree code can index l_recs[] out of bounds.

Affected products

Linux
  • <671889c553ea55e2da6a4f3b15f4c0fa40f2f0d1
  • =<*
  • <858aa4965ffa8c0d4bb5dd835ac4f1c9a1dcab85
  • <7.1.5
  • <6.18.40
  • <452a8467be8143747292218212671deeb186d2ae
  • =<6.18.*
  • =<7.1.*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 3 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
Bluetooth: btmtk: fix URB leak in alloc_mtk_intr_urb error path

In the Linux kernel, the following vulnerability has been resolved: Bluetooth: btmtk: fix URB leak in alloc_mtk_intr_urb error path When btmtk_isopkt_pad() fails, the previously allocated URB is not freed, leaking the urb structure. Add usb_free_urb() before returning the error.

Affected products

Linux
  • <4e354991da5890d5ce7bfea3f66fb897ae301756
  • =<*
  • =<6.18.*
  • =<6.12.*
  • <6.11
  • =<7.1.*
  • <2643524743b9cc3c6f5f34cde2a8c627d793f21c
  • ==6.11
  • <7f206a8d8d82296aa2d30bf5f3e5bb73fc44591d
  • <f396f4005180928cd9e15e352a6512865d3bc908
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 3 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
posix-cpu-timers: Use u64 multiplication in update_rlimit_cpu()

In the Linux kernel, the following vulnerability has been resolved: posix-cpu-timers: Use u64 multiplication in update_rlimit_cpu() update_rlimit_cpu() converts the RLIMIT_CPU value to nanoseconds with u64 nsecs = rlim_new * NSEC_PER_SEC; On 32-bit kernels both rlim_new (unsigned long) and NSEC_PER_SEC (1000000000L) are 32-bit, so the multiplication is performed in unsigned long and truncated for rlim_new > 4 seconds before being widened to u64. The same file already casts to u64 for the matching computation in check_process_timers(): u64 softns = (u64)soft * NSEC_PER_SEC; As a result, the truncated value is installed into the CPUCLOCK_PROF expiry cache (nextevt), causing the process CPU timer to be programmed to fire prematurely for any RLIMIT_CPU soft limit >= 5 seconds. The actual SIGXCPU/SIGKILL decision in check_process_timers() already casts to u64 and is therefore correct, so limit enforcement is not broken; only the expiry-cache programming is wrong. Apply the same cast here so both paths convert rlim_cur identically. 64-bit kernels are unaffected.

Affected products

Linux
  • =<5.10.*
  • <1fafc4d9b411645eb34de43362b966dc8fb3e263
  • <384628d6cdde0fcd76868606fad3ad8293100afb
  • <571e1f10b5996ba3e4dc63ea77de4aa309c384ce
  • =<6.6.*
  • <26aff38fefb1d6cd87e22525f41cc8f1aa61b24f
  • <edf6babb9edd2d3e19229ade339081f439d4f478
  • <4.11
  • =<*
  • ==4.11
  • =<6.12.*
  • =<6.18.*
  • =<7.1.*
  • =<5.15.*
  • <cff8281bacd2866767e6194c3079d33b6c5a74f4
  • <ea6a188ee805e841a0e242f14d15953e0dfa74bb
  • <feb5c87c8514444ba891b75a5a3eae57c64edaf8
  • =<6.1.*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 3 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
evm: terminate and bound the evm_xattrs read buffer

In the Linux kernel, the following vulnerability has been resolved: evm: terminate and bound the evm_xattrs read buffer evm_read_xattrs() allocates size + 1 bytes, fills them from the list of enabled xattrs, and then passes strlen(temp) to simple_read_from_buffer(). When no configured xattrs are enabled, the fill loop stores nothing and temp[0] remains uninitialized, so strlen() reads beyond initialized memory. Explicitly terminate the buffer after allocation, use snprintf() for each formatted line, and pass the accumulated length, without risk of truncation, to simple_read_from_buffer().

Affected products

Linux
  • <8df81954d22a653a8b01d46692cd56f71137269b
  • <a36cbfb85f26e6c6fb6529b1a364331b94dc88f3
  • <0b9f8282b40af4a99d6243d2cb939d14ff36b049
  • <a0f64cf8bfcb39e533d9e27aeb763a8d81b7f39d
  • <4.18
  • =<6.6.*
  • =<*
  • <38b7d63b23aa9d2ddde7688040e9426d32be4065
  • <11143a19f5b8dc8f414deab87571134f9f447313
  • =<6.18.*
  • =<6.12.*
  • =<7.1.*
  • ==4.18
  • =<5.15.*
  • =<6.1.*
  • <12ad52dc45a0c8c9d25e85b4a84201de4c5420ed
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 3 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
net: ip_vti: require CAP_NET_ADMIN in the device netns for changelink

In the Linux kernel, the following vulnerability has been resolved: net: ip_vti: require CAP_NET_ADMIN in the device netns for changelink vti_changelink() operates on at most two netns, dev_net(dev) and the tunnel link netns t->net. They differ once the device is created in or moved to a netns other than the one the request runs in. The rtnl changelink path checks CAP_NET_ADMIN only against dev_net(dev), so a caller privileged there but not in t->net can rewrite a tunnel that lives in t->net. Gate vti_changelink() on rtnl_dev_link_net_capable() at its top, before any attribute is parsed.

Affected products

Linux
  • <1caf737e625143c6f23c32d2b747b1a3e42e5699
  • <33fd93961557ec8e3e9958995b28684c5f949394
  • =<5.10.*
  • <88b33ee458a6ca5fbef6c53b9dba772da69dab68
  • =<6.6.*
  • =<*
  • <32edf8aa297745226854eda2d96c0fac66c1bb15
  • ==3.15
  • <973ead9e565423642e4533e1547b5d2c0476fb03
  • <3.15
  • =<6.18.*
  • =<6.12.*
  • <6d8bc0dc99472d62c57c2a3d436e6ab408592bda
  • =<7.1.*
  • =<5.15.*
  • <9571af2eec8023af9a1671b7f2cd4ab400011724
  • =<6.1.*
  • <95cceadbfd52d7239bd730afdda0655287d77425