In the Linux kernel, the following vulnerability has been resolved:
wireguard: netlink: check for dangling peer via is_dead instead of empty list
If all peers are removed via wg_peer_remove_all(), rather than setting peer_list to empty, the peer is added to a temporary list with a head on the stack of wg_peer_remove_all(). If a netlink dump is resumed and the cursored peer is one that has been removed via wg_peer_remove_all(), it will iterate from that peer and then attempt to dump freed peers.
Fix this by instead checking peer->is_dead, which was explictly created for this purpose. Also move up the device_update_lock lockdep assertion, since reading is_dead relies on that.
It can be reproduced by a small script like:
echo "Setting config..." ip link add dev wg0 type wireguard wg setconf wg0 /big-config ( while true; do echo "Showing config..." wg showconf wg0 > /dev/null done ) & sleep 4 wg setconf wg0 <(printf "[Peer]\nPublicKey=$(wg genkey)\n")
Resulting in:
BUG: KASAN: slab-use-after-free in __lock_acquire+0x182a/0x1b20 Read of size 8 at addr ffff88811956ec70 by task wg/59 CPU: 2 PID: 59 Comm: wg Not tainted 6.8.0-rc2-debug+ #5 Call Trace: <TASK> dump_stack_lvl+0x47/0x70 print_address_description.constprop.0+0x2c/0x380 print_report+0xab/0x250 kasan_report+0xba/0xf0 __lock_acquire+0x182a/0x1b20 lock_acquire+0x191/0x4b0 down_read+0x80/0x440 get_peer+0x140/0xcb0 wg_get_device_dump+0x471/0x1130
CVSS Details
- CVSS 3.1 Base Score: 7.8
- CVSS 3.1 Vector: (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
Covered by Rapid7
| Product | Vendor Advisory | Solution File | Added | Published |
|---|---|---|---|---|
| Amazon Linux Ami 2 | — | Upgrade kernel-headersUpgrade kernel-debuginfoUpgrade kernelUpgrade python-perf-debuginfoUpgrade perfUpgrade kernel-tools-develUpgrade kernel-develUpgrade bpftoolUpgrade kernel-tools-debuginfoUpgrade kernel-livepatch-5.10.215-203.850Upgrade perf-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-toolsUpgrade kernel-debuginfo-common-aarch64Upgrade python-perfUpgrade bpftool-debuginfoUpgrade kernel-livepatch-5.15.156-102.160 | Aug 14, 2024 | May 1, 2024 |
| Amazon_linux_2023 | — | Upgrade kernelUpgrade kernel-debuginfoUpgrade kernel-libbpf-staticUpgrade kernel-libbpf-develUpgrade bpftool-debuginfoUpgrade kernel-debuginfo-common-x86_64Upgrade kernel-headersUpgrade kernel-modules-extra-commonUpgrade kernel-livepatch-6.1.84-99.169Upgrade kernel-debuginfo-common-aarch64Upgrade kernel-tools-develUpgrade kernel-libbpfUpgrade perf-debuginfoUpgrade kernel-tools-debuginfoUpgrade kernel-toolsUpgrade kernel-develUpgrade python3-perfUpgrade python3-perf-debuginfoUpgrade kernel-modules-extraUpgrade perfUpgrade bpftool | Feb 17, 2025 | May 1, 2024 |
| Debian | — | Upgrade linux | May 8, 2024 | May 1, 2024 |
| Oracle_linux | — | Upgrade kernel-uek | Nov 21, 2024 | May 1, 2024 |
| Redhat_linux | — | Upgrade kernelUpgrade kernel-rtNo solution exists | Dec 5, 2024 | May 1, 2024 |
| Suse | — | Upgrade reiserfs-kmp-defaultUpgrade kernel-default-baseUpgrade kernel-rt_debug-vdsoUpgrade cluster-md-kmp-64kbUpgrade dtb-rockchipUpgrade ocfs2-kmp-rtUpgrade kernel-docsUpgrade ocfs2-kmp-azureUpgrade kernel-default-optionalUpgrade kernel-kvmsmallUpgrade kernel-rt-livepatchUpgrade cluster-md-kmp-defaultUpgrade dtb-armUpgrade dtb-qcomUpgrade dlm-kmp-defaultUpgrade kselftests-kmp-defaultUpgrade kernel-macrosUpgrade dtb-nvidiaUpgrade kernel-obs-qaUpgrade dlm-kmp-azureUpgrade kernel-default-base-rebuildUpgrade kernel-64kb-develUpgrade cluster-md-kmp-rtUpgrade kernel-default-extraUpgrade reiserfs-kmp-azureUpgrade dtb-amlogicUpgrade kernel-rtUpgrade kselftests-kmp-rtUpgrade kernel-syms-rtUpgrade dtb-xilinxUpgrade dtb-mediatekUpgrade kernel-azure-livepatch-develUpgrade dtb-apmUpgrade kernel-defaultUpgrade kernel-default-livepatch-develUpgrade kernel-rt-develUpgrade kernel-debugUpgrade kernel-debug-livepatch-develUpgrade kernel-develUpgrade kernel-devel-rtUpgrade kernel-symsUpgrade dlm-kmp-rtUpgrade dtb-marvellUpgrade kernel-kvmsmall-vdsoUpgrade dtb-amazonUpgrade dtb-allwinnerUpgrade kernel-zfcpdumpUpgrade kernel-syms-azureUpgrade kernel-rt-optionalUpgrade kernel-azure-vdsoUpgrade kernel-default-livepatchUpgrade kernel-64kb-extraUpgrade kernel-devel-azureUpgrade dtb-appleUpgrade kernel-azure-optionalUpgrade kernel-64kb-livepatch-develUpgrade gfs2-kmp-64kbUpgrade dtb-renesasUpgrade cluster-md-kmp-azureUpgrade reiserfs-kmp-rtUpgrade ocfs2-kmp-defaultUpgrade kernel-obs-buildUpgrade kernel-docs-htmlUpgrade kernel-azureUpgrade dtb-amdUpgrade reiserfs-kmp-64kbUpgrade kernel-source-vanillaUpgrade kernel-source-azureUpgrade kernel-rt_debug-livepatch-develUpgrade kernel-rt-vdsoUpgrade kernel-64kbUpgrade dtb-lgUpgrade dtb-freescaleUpgrade dtb-hisiliconUpgrade dtb-caviumUpgrade dtb-broadcomUpgrade kernel-azure-develUpgrade kernel-default-develUpgrade gfs2-kmp-rtUpgrade kernel-rt-extraUpgrade ocfs2-kmp-64kbUpgrade dtb-exynosUpgrade kernel-debug-vdsoUpgrade kselftests-kmp-azureUpgrade dtb-sprdUpgrade dtb-socionextUpgrade kernel-kvmsmall-develUpgrade kernel-default-vdsoUpgrade kernel-rt-livepatch-develUpgrade dtb-alteraUpgrade gfs2-kmp-defaultUpgrade kernel-source-rtUpgrade kernel-64kb-optionalUpgrade kernel-sourceUpgrade kernel-azure-extraUpgrade kernel-debug-develUpgrade kernel-kvmsmall-livepatch-develUpgrade kernel-rt_debug-develUpgrade dlm-kmp-64kbUpgrade kernel-rt_debugUpgrade gfs2-kmp-azureUpgrade kselftests-kmp-64kb | May 15, 2024 | May 1, 2024 |
| Ubuntu | — | Upgrade linux-image-oracle-lts-22.04Upgrade linux-image-generic-lpae-hwe-20.04Upgrade linux-image-oem-24.04aUpgrade linux-image-nvidia-lowlatencyUpgrade linux-image-kvmUpgrade linux-image-oem-20.04Upgrade linux-image-azureUpgrade linux-image-6.8.0-1008-azure-fdeUpgrade linux-image-5.15.0-1065-awsUpgrade linux-image-azure-cvmUpgrade linux-image-6.8.0-35-lowlatencyUpgrade linux-image-intel-iotgUpgrade linux-image-5.15.0-1060-nvidia-lowlatencyUpgrade linux-image-6.8.0-1008-gcpUpgrade linux-image-5.15.0-1060-nvidiaUpgrade linux-image-generic-64kUpgrade linux-image-ibm-lts-24.04Upgrade linux-image-6.8.0-1006-ibmUpgrade linux-image-generic-hwe-20.04Upgrade linux-image-azure-fde-lts-22.04Upgrade linux-image-6.8.0-35-generic-64kUpgrade linux-image-raspiUpgrade linux-image-intelUpgrade linux-image-5.15.0-1062-kvmUpgrade linux-image-5.15.0-1068-azure-fdeUpgrade linux-image-awsUpgrade linux-image-5.15.0-1063-oracleUpgrade linux-image-5.15.0-1035-xilinx-zynqmpUpgrade linux-image-virtual-hwe-20.04Upgrade linux-image-6.8.0-35-genericUpgrade linux-image-5.15.0-1064-gcpUpgrade linux-image-5.15.0-116-lowlatencyUpgrade linux-image-generic-hwe-24.04Upgrade linux-image-5.15.0-1058-raspiUpgrade linux-image-xilinx-zynqmpUpgrade linux-image-gkeop-5.15Upgrade linux-image-5.15.0-1058-ibmUpgrade linux-image-lowlatency-64k-hwe-20.04Upgrade linux-image-gkeUpgrade linux-image-oem-20.04cUpgrade linux-image-azure-fdeUpgrade linux-image-5.15.0-1065-gcpUpgrade linux-image-6.8.0-35-lowlatency-64kUpgrade linux-image-oracle-64kUpgrade linux-image-aws-lts-22.04Upgrade linux-image-virtual-hwe-24.04Upgrade linux-image-6.8.0-1006-oracle-64kUpgrade linux-image-oem-20.04dUpgrade linux-image-gcpUpgrade linux-image-gke-5.15Upgrade linux-image-5.15.0-1062-gkeUpgrade linux-image-virtualUpgrade linux-image-lowlatencyUpgrade linux-image-lowlatency-64kUpgrade linux-image-5.15.0-1048-gkeopUpgrade linux-image-5.15.0-1060-intel-iotgUpgrade linux-image-6.8.0-1006-oracleUpgrade linux-image-generic-lpaeUpgrade linux-image-generic-64k-hwe-20.04Upgrade linux-image-5.15.0-116-genericUpgrade linux-image-5.15.0-1068-azureUpgrade linux-image-ibmUpgrade linux-image-gkeopUpgrade linux-image-genericUpgrade linux-image-6.8.0-1006-oemUpgrade linux-image-6.8.0-1008-azureUpgrade linux-image-6.8.0-1005-raspiUpgrade linux-image-oem-24.04Upgrade linux-image-6.8.0-1004-gkeUpgrade linux-image-oem-20.04bUpgrade linux-image-5.15.0-116-lowlatency-64kUpgrade linux-image-5.15.0-116-generic-lpaeUpgrade linux-image-5.15.0-116-generic-64kUpgrade linux-image-6.8.0-1009-awsUpgrade linux-image-lowlatency-hwe-20.04Upgrade linux-image-ibm-classicUpgrade linux-image-nvidiaUpgrade linux-image-raspi-nolpaeUpgrade linux-image-gcp-lts-22.04Upgrade linux-image-azure-lts-22.04Upgrade linux-image-oracleUpgrade linux-image-generic-64k-hwe-24.04 | Jul 1, 2024 | May 1, 2024 |
| Vmware Photon_os | — | Use 'tdnf update' to upgrade all packages to the latest version. | Jan 20, 2025 | May 1, 2024 |
Prioritise with Active Threat Intelligence
With curated Threat Intelligence, you can see which vulnerabilities truly put you at risk, prioritize what matters most, and act before attackers do.
Explore Intelligence Hub