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, 5 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
ceph: put folios not suitable for writeback

In the Linux kernel, the following vulnerability has been resolved: ceph: put folios not suitable for writeback The batch holds references to the folios (see `filemap_get_folios`, `folio_batch_release`), so we need to `folio_put` the folios we remove. Tested on v6.18.

Affected products

Linux
  • <86921e890fe1dea9791fb70bec552516fd47716a
  • <544576f0f05c4a759806acddfaaeb686f14fb4b0
  • =<7.0.*
  • <7.0.10
  • =<*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 5 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
bpf: Fix ld_{abs,ind} failure path analysis in subprogs

In the Linux kernel, the following vulnerability has been resolved: bpf: Fix ld_{abs,ind} failure path analysis in subprogs Usage of ld_{abs,ind} instructions got extended into subprogs some time ago via commit 09b28d76eac4 ("bpf: Add abnormal return checks."). These are only allowed in subprograms when the latter are BTF annotated and have scalar return types. The code generator in bpf_gen_ld_abs() has an abnormal exit path (r0=0 + exit) from legacy cBPF times. While the enforcement is on scalar return types, the verifier must also simulate the path of abnormal exit if the packet data load via ld_{abs,ind} failed. This is currently not the case. Fix it by having the verifier simulate both success and failure paths, and extend it in similar ways as we do for tail calls. The success path (r0=unknown, continue to next insn) is pushed onto stack for later validation and the r0=0 and return to the caller is done on the fall-through side.

Affected products

Linux
  • <d846d83bdacbd8f14fc45c63b8c1d22608452e1c
  • ==5.10
  • =<7.0.*
  • <ee861486e377edc55361c08dcbceab3f6b6577bd
  • =<*
  • <5.10
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 5 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
bpf: Fix OOB in pcpu_init_value

In the Linux kernel, the following vulnerability has been resolved: bpf: Fix OOB in pcpu_init_value An out-of-bounds read occurs when copying element from a BPF_MAP_TYPE_CGROUP_STORAGE map to another pcpu map with the same value_size that is not rounded up to 8 bytes. The issue happens when: 1. A CGROUP_STORAGE map is created with value_size not aligned to 8 bytes (e.g., 4 bytes) 2. A pcpu map is created with the same value_size (e.g., 4 bytes) 3. Update element in 2 with data in 1 pcpu_init_value assumes that all sources are rounded up to 8 bytes, and invokes copy_map_value_long to make a data copy, However, the assumption doesn't stand since there are some cases where the source may not be rounded up to 8 bytes, e.g., CGROUP_STORAGE, skb->data. the verifier verifies exactly the size that the source claims, not the size rounded up to 8 bytes by kernel, an OOB happens when the source has only 4 bytes while the copy size(4) is rounded up to 8.

Affected products

Linux
  • =<6.18.*
  • ==5.10
  • ==c602ad2b52dcbca5af08e5137bd5575c039b52e3
  • <5.5
  • =<7.0.*
  • <576afddfee8d1108ee299bf10f581593540d1a36
  • ==ab68b940dd6f7b5f8e2557937162dcb8a0583a05
  • <e19c5ed9f1922a6854073f8651a63fa7be26e9e9
  • <5.10
  • <6086079e6d1c32ba4c4b422612b8aebb1129a96c
  • =<*
  • <5.10
  • <634a793d0e1c822412095d25a1338f8831ad894c
  • =<6.12.*
  • <e0378419b0e20178b5d100b27c9cc7e51064202e
  • =<6.6.*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 5 days 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
  • =<6.18.*
  • =<7.0.*
  • <95e8ae9af2a61b4e72f5c585bf4c7d8aaf2a2c98
  • <ca9ed40f28949353911dcb524ff8fff2f3409c97
  • =<*
  • ==6.17
  • <e42c755582f0960e684298762f0ab927b3778376
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 5 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
wifi: brcmfmac: Fix error pointer dereference

In the Linux kernel, the following vulnerability has been resolved: wifi: brcmfmac: Fix error pointer dereference The function brcmf_chip_add_core() can return an error pointer and is not checked. Add checks for error pointer. Detected by Smatch: drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:1010 brcmf_chip_recognition() error: 'core' dereferencing possible ERR_PTR() drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:1013 brcmf_chip_recognition() error: 'core' dereferencing possible ERR_PTR() drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:1016 brcmf_chip_recognition() error: 'core' dereferencing possible ERR_PTR() drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:1019 brcmf_chip_recognition() error: 'core' dereferencing possible ERR_PTR() drivers/net/wireless/broadcom/brcm80211/brcmfmac/chip.c:1022 brcmf_chip_recognition() error: 'core' dereferencing possible ERR_PTR() [add missing wifi: prefix]

Affected products

Linux
  • =<5.15.*
  • =<6.18.*
  • =<6.12.*
  • <bd6c906e0c4af6d5d0c49c3c4ee090b4913da17d
  • <d3f280be48f1c672cb10e8026c236d0cca60048a
  • =<7.0.*
  • <dd8592fc6007a451c3e4b9025de365e39de8178a
  • ==3.15
  • <2e0e5a43ed126f896a4ad31ade66c90270601bae
  • <3.15
  • <a3b45090a91e2f0b9715870d8f8d9ca2fdfbc1af
  • =<*
  • <cbea71b4480394708f9a6e007a0385acfe5e1ec8
  • =<5.10.*
  • <99ef547659178eef6d6ba4738a9d989ce90cf909
  • =<6.1.*
  • <334c68750eee84c2327db1d152be83ff5ad8e20b
  • =<6.6.*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 5 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
scsi: target: core: Fix integer overflow in UNMAP bounds check

In the Linux kernel, the following vulnerability has been resolved: scsi: target: core: Fix integer overflow in UNMAP bounds check sbc_execute_unmap() checks LBA + range does not exceed the device capacity, but does not guard against LBA + range wrapping around on 64-bit overflow. Add an overflow check matching the pattern already used for WRITE_SAME in the same file.

Affected products

Linux
  • =<5.15.*
  • <5efc3ef4758f8d98c257419fa21daca3227de61a
  • =<6.18.*
  • <51075df70c46e60a9773f2dcd28299e40dac36fb
  • <2bf2d65f76697820dbc4227d13866293576dd90a
  • =<5.10.*
  • <d7aef29573c7c5cdb2dfad939253287a6329c2a4
  • =<6.12.*
  • =<7.0.*
  • <c08ab702c4699c6efb9d60bdb15b73e7a627ee7e
  • <02115986d027ade793e7f6be87e91d6a796d0aa3
  • =<*
  • ==3.10
  • <2e1ed9a7b6ea5bfefb5d80a02b1c71c7dee1f0dd
  • <3.10
  • =<6.1.*
  • <3facdecc3fcf115cc4f9b3d8f118d6705e2456a8
  • =<6.6.*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 5 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
macvlan: fix macvlan_get_size() not reserving space for IFLA_MACVLAN_BC_CUTOFF

In the Linux kernel, the following vulnerability has been resolved: macvlan: fix macvlan_get_size() not reserving space for IFLA_MACVLAN_BC_CUTOFF macvlan_get_size() does not account for IFLA_MACVLAN_BC_CUTOFF, but macvlan_fill_info() conditionally includes it when port->bc_cutoff != 1. This causes nla_put_s32() to fail with -EMSGSIZE when the netlink skb runs out of space, triggering a WARN_ON in rtnetlink and preventing the interface from being dumped. The bug can be reproduced with: ip link add macvlan0 link eth0 type macvlan mode bridge ip link set macvlan0 type macvlan bc_cutoff 0 ip -d link show macvlan0 # fails with -EMSGSIZE The bc_cutoff feature was added in commit 954d1fa1ac93 ("macvlan: Add netlink attribute for broadcast cutoff"), which added the nla_put_s32() call in macvlan_fill_info() but missed adding the corresponding nla_total_size(4) in macvlan_get_size(). A follow-up commit 55cef78c244d ("macvlan: add forgotten nla_policy for IFLA_MACVLAN_BC_CUTOFF") fixed the missing nla_policy entry but still did not fix the size calculation.

Affected products

Linux
  • =<6.18.*
  • <fa92a77b0ed4d5f11a71665a232ac5a54a4b055d
  • <b6b7154e9f5d75b608ceb2d05b376de8c638c40e
  • =<6.12.*
  • =<7.0.*
  • <4979252758387b338ca968ba7e0515b0ae2257e3
  • =<*
  • =<6.6.*
  • ==6.4
  • <77ecfa4e27f282d224215895ddfbeb916fc75e24
  • <6.4
  • <1c004f14ccdc11585625c168bb9a7c5e1b8afb0c
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 5 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
dm log: fix out-of-bounds write due to region_count overflow

In the Linux kernel, the following vulnerability has been resolved: dm log: fix out-of-bounds write due to region_count overflow The local variable region_count in create_log_context() is declared as unsigned int (32-bit), but dm_sector_div_up() returns sector_t (64-bit). When a device-mapper target has a sufficiently large ti->len with a small region_size, the division result can exceed UINT_MAX. The truncated value is then used to calculate bitset_size, causing clean_bits, sync_bits, and recovering_bits to be allocated far smaller than needed for the actual number of regions. Subsequent log operations (log_set_bit, log_clear_bit, log_test_bit) use region indices derived from the full untruncated region space, causing out-of-bounds writes to kernel heap memory allocated by vmalloc. This can be reproduced by creating a mirror target whose region_count overflows 32 bits: dmsetup create bigzero --table '0 8589934594 zero' dmsetup create mymirror --table '0 8589934594 mirror \ core 2 2 nosync 2 /dev/mapper/bigzero 0 \ /dev/mapper/bigzero 0' The status output confirms the truncation (sync_count=1 instead of 4294967297, because 0x100000001 was truncated to 1): $ dmsetup status mymirror 0 8589934594 mirror 2 254:1 254:1 1/4294967297 ... This leads to a kernel crash in core_in_sync: BUG: scheduling while atomic: (udev-worker)/9150/0x00000000 RIP: 0010:core_in_sync+0x14/0x30 [dm_log] CR2: 0000000000000008 Fixing recursive fault but reboot is needed! Fix by widening the local region_count to sector_t and adding an explicit overflow check before the value is assigned to lc->region_count.

Affected products

Linux
  • <4ec8323b9f0764a14d532b1ae9b87f8a9fecb867
  • <d4ac87567f86a55c3c92e9a5144dcd943a9772a1
  • =<5.15.*
  • =<6.18.*
  • <12bd5b88e91a02785244ff1d20fb157e96e9cdc8
  • =<6.12.*
  • =<7.0.*
  • <44ab8875ae4a2842bde2d756bed195d375e0debb
  • <3ec74da927b4e171a6fc0e77b1188ba4d019af51
  • <c20e36b7631d83e7535877f08af8b0af72c44b1a
  • <2.6.12
  • ==2.6.12
  • =<*
  • <b455903eed4558982be0811f5b7f44f6bbc4ff57
  • <defe483e47173768c227532694dc78cb65db5f09
  • =<6.1.*
  • =<5.10.*
  • =<6.6.*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 5 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
crypto: af_alg - Cap AEAD AD length to 0x80000000

In the Linux kernel, the following vulnerability has been resolved: crypto: af_alg - Cap AEAD AD length to 0x80000000 In order to prevent arithmetic overflows when checking the TX buffer size, cap the associated data length to 0x80000000.

Affected products

Linux
  • <97948906dc8e0ea84775e03e35b60a2063c70193
  • =<6.1.*
  • <a4fe4eb580bbc7439f649a496d4cf38415a4021c
  • =<5.15.*
  • =<6.18.*
  • ==4.1
  • =<6.12.*
  • <4.1
  • =<7.0.*
  • <a9f68d9ed38dd6e5a6c6d75b03d25c1c133e321d
  • <265ac26d1c5e17b34d497cbda1f754a1ec8552bc
  • <a1c5672faf8e93e38c2deac3979cc767ca5cf918
  • <f8a5203596797f394ff3f9aa4005597a92249802
  • <e4c4a5074532eaaa14951994a3aad0d479aa7431
  • =<5.10.*
  • =<6.6.*
Dismissed
(max. allowed matches exceeded)
created 3 weeks, 5 days ago Activity log
  • Created & dismissed (max. allowed matches exceeded) suggestion
sctp: disable BH before calling udp_tunnel_xmit_skb()

In the Linux kernel, the following vulnerability has been resolved: sctp: disable BH before calling udp_tunnel_xmit_skb() udp_tunnel_xmit_skb() / udp_tunnel6_xmit_skb() are expected to run with BH disabled. After commit 6f1a9140ecda ("add xmit recursion limit to tunnel xmit functions"), on the path: udp(6)_tunnel_xmit_skb() -> ip(6)tunnel_xmit() dev_xmit_recursion_inc()/dec() must stay balanced on the same CPU. Without local_bh_disable(), the context may move between CPUs, which can break the inc/dec pairing. This may lead to incorrect recursion level detection and cause packets to be dropped in ip(6)_tunnel_xmit() or __dev_queue_xmit(). Fix it by disabling BH around both IPv4 and IPv6 SCTP UDP xmit paths. In my testing, after enabling the SCTP over UDP: # ip net exec ha sysctl -w net.sctp.udp_port=9899 # ip net exec ha sysctl -w net.sctp.encap_port=9899 # ip net exec hb sysctl -w net.sctp.udp_port=9899 # ip net exec hb sysctl -w net.sctp.encap_port=9899 # ip net exec ha iperf3 -s - without this patch: # ip net exec hb iperf3 -c 192.168.0.1 --sctp [ 5] 0.00-10.00 sec 37.2 MBytes 31.2 Mbits/sec sender [ 5] 0.00-10.00 sec 37.1 MBytes 31.1 Mbits/sec receiver - with this patch: # ip net exec hb iperf3 -c 192.168.0.1 --sctp [ 5] 0.00-10.00 sec 3.14 GBytes 2.69 Gbits/sec sender [ 5] 0.00-10.00 sec 3.14 GBytes 2.69 Gbits/sec receiver

Affected products

Linux
  • <2cd7e6971fc2787408ceef17906ea152791448cf
  • ==5.11
  • =<7.0.*
  • <790093245e35040c2adb15f48970020425aa3f47
  • <5.11
  • =<*