Vulnerability · Published Apr 1, 2025 · Assigned by Linux

CVE-2025-21943gpio: aggregator: protect driver attr handlers against module unload

Medium 4.7

In plain English

A medium-severity race condition in Linux from Linux. There are no confirmed reports of exploitation so far. The chance it is exploited in the next 30 days is estimated at 0.2% (higher than 6% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.

Severity (CVSS 3.1)4.7Medium
Exploit odds (30 days)0.2%top 93.6% of all CVEs
Exploited in the wildNo reportsCISA SSVC: none
Attack toolingNoneno public tooling known

Official description

In the Linux kernel, the following vulnerability has been resolved: gpio: aggregator: protect driver attr handlers against module unload Both new_device_store and delete_device_store touch module global resources (e.g. gpio_aggregator_lock). To prevent race conditions with module unload, a reference needs to be held. Add try_module_get() in these handlers. For new_device_store, this eliminates what appears to be the most dangerous scenario: if an id is allocated from gpio_aggregator_idr but platform_device_register has not yet been called or completed, a concurrent module unload could fail to unregister/delete the device, leaving behind a dangling platform device/GPIO forwarder. This can result in various issues. The following simple reproducer demonstrates these problems: #!/bin/bash while :; do # note: whether 'gpiochip0 0' exists or not does not matter. echo 'gpiochip0 0' > /sys/bus/platform/drivers/gpio-aggregator/new_device done & while :; do modprobe gpio-aggregator modprobe -r gpio-aggregator done & wait Starting with the following warning, several kinds of warnings will appear and the system may become unstable: ------------[ cut here ]------------ list_del corruption, ffff888103e2e980->next is LIST_POISON1 (dead000000000100) WARNING: CPU: 1 PID: 1327 at lib/list_debug.c:56 __list_del_entry_valid_or_report+0xa3/0x120 [...] RIP: 0010:__list_del_entry_valid_or_report+0xa3/0x120 [...] Call Trace: <TASK> ? __list_del_entry_valid_or_report+0xa3/0x120 ? __warn.cold+0x93/0xf2 ? __list_del_entry_valid_or_report+0xa3/0x120 ? report_bug+0xe6/0x170 ? __irq_work_queue_local+0x39/0xe0 ? handle_bug+0x58/0x90 ? exc_invalid_op+0x13/0x60 ? asm_exc_invalid_op+0x16/0x20 ? __list_del_entry_valid_or_report+0xa3/0x120 gpiod_remove_lookup_table+0x22/0x60 new_device_store+0x315/0x350 [gpio_aggregator] kernfs_fop_write_iter+0x137/0x1f0 vfs_write+0x262/0x430 ksys_write+0x60/0xd0 do_syscall_64+0x6c/0x180 entry_SYSCALL_64_after_hwframe+0x76/0x7e [...] </TASK> ---[ end trace 0000000000000000 ]---

Affected packages & fixed versions

EcosystemPackageFixed inAdvisory
Debian:12linux6.1.133-1DEBIAN-CVE-2025-21943
Debian:13linux6.12.19-1DEBIAN-CVE-2025-21943
Debian:14linux6.12.19-1DEBIAN-CVE-2025-21943
Ubuntu:22.04:LTSlinux5.15.0-140.150UBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux6.8.0-62.65USN-7595-1
Ubuntu:24.04:LTSlinux6.8.0-62.65UBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-allwinner-5.19no fix listedUBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-aws5.15.0-1084.91UBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-aws6.8.0-1030.32UBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-aws6.8.0-1030.32USN-7595-1
Ubuntu:22.04:LTSlinux-aws-5.19no fix listedUBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-aws-6.2no fix listedUBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-aws-6.5no fix listedUBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-aws-6.86.8.0-1030.32~22.04.1UBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-aws-6.86.8.0-1030.32~22.04.1USN-7595-1
Ubuntu:22.04:LTSlinux-azure5.15.0-1089.98UBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-azure6.8.0-1030.35UBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-azure6.8.0-1030.35USN-7596-1
Ubuntu:22.04:LTSlinux-azure-5.19no fix listedUBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-azure-6.116.11.0-1018.18~24.04.1USN-7628-1
Ubuntu:24.04:LTSlinux-azure-6.116.11.0-1018.18~24.04.1UBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-azure-6.2no fix listedUBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-azure-6.5no fix listedUBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-azure-6.86.8.0-1030.35~22.04.1USN-7596-1
Ubuntu:22.04:LTSlinux-azure-6.86.8.0-1030.35~22.04.1UBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-azure-fde5.15.0-1089.98.1UBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-azure-fde-5.19no fix listedUBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-azure-fde-6.2no fix listedUBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-azure-nvidia6.8.0-1018.19USN-7596-2
Ubuntu:24.04:LTSlinux-azure-nvidia6.8.0-1018.19UBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-gcp5.15.0-1083.92UBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-gcp6.8.0-1031.33UBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-gcp6.8.0-1031.33USN-7595-5
Ubuntu:22.04:LTSlinux-gcp-5.19no fix listedUBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-gcp-6.116.11.0-1016.16~24.04.1USN-7605-1
Ubuntu:24.04:LTSlinux-gcp-6.116.11.0-1016.16~24.04.1UBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-gcp-6.2no fix listedUBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-gcp-6.5no fix listedUBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-gcp-6.86.8.0-1031.33~22.04.1USN-7595-5
Ubuntu:22.04:LTSlinux-gcp-6.86.8.0-1031.33~22.04.1UBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-gke5.15.0-1081.87UBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-gke6.8.0-1026.30USN-7595-1
Ubuntu:24.04:LTSlinux-gke6.8.0-1026.30UBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-gkeop5.15.0-1066.74UBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-gkeop6.8.0-1013.15UBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-gkeop6.8.0-1013.15USN-7595-1
Ubuntu:22.04:LTSlinux-hwe-5.19no fix listedUBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-hwe-6.116.11.0-28.28~24.04.1USN-7605-1
Ubuntu:24.04:LTSlinux-hwe-6.116.11.0-28.28~24.04.1UBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-hwe-6.2no fix listedUBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-hwe-6.5no fix listedUBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-hwe-6.86.8.0-64.67~22.04.1UBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-ibm5.15.0-1076.79UBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-ibm6.8.0-1027.27UBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-ibm6.8.0-1027.27USN-7595-1
Ubuntu:22.04:LTSlinux-ibm-6.86.8.0-1027.27~22.04.1UBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-intel-iot-realtimeno fix listedUBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-intel-iotg5.15.0-1079.85UBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-kvm5.15.0-1080.85UBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-lowlatency5.15.0-140.150UBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-lowlatency6.8.0-62.65.1USN-7595-1
Ubuntu:24.04:LTSlinux-lowlatency6.8.0-62.65.1UBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-lowlatency-hwe-5.19no fix listedUBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-lowlatency-hwe-6.116.11.0-1015.16~24.04.2UBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-lowlatency-hwe-6.116.11.0-1015.16~24.04.2USN-7605-2
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.2no fix listedUBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.5no fix listedUBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.86.8.0-62.65.1~22.04.1USN-7595-1
Ubuntu:22.04:LTSlinux-lowlatency-hwe-6.86.8.0-62.65.1~22.04.1UBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-nvidia5.15.0-1078.79UBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-nvidia6.8.0-1029.32USN-7595-1
Ubuntu:24.04:LTSlinux-nvidia6.8.0-1029.32UBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-nvidia-6.116.11.0-1012.12UBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-nvidia-6.2no fix listedUBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-nvidia-6.5no fix listedUBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-nvidia-6.86.8.0-1029.32~22.04.1USN-7595-1
Ubuntu:22.04:LTSlinux-nvidia-6.86.8.0-1029.32~22.04.1UBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-nvidia-lowlatency6.8.0-1029.32.1USN-7595-1
Ubuntu:24.04:LTSlinux-nvidia-lowlatency6.8.0-1029.32.1UBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-nvidia-tegra5.15.0-1037.37UBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-nvidia-tegra6.8.0-1008.8UBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-nvidia-tegra-igx5.15.0-1026.26UBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-oem-5.17no fix listedUBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-oem-6.0no fix listedUBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-oem-6.1no fix listedUBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-oem-6.116.11.0-1024.24UBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-oem-6.116.11.0-1024.24USN-7606-1
Ubuntu:22.04:LTSlinux-oem-6.5no fix listedUBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-oem-6.86.8.0-1029.29UBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-oem-6.86.8.0-1029.29USN-7595-1
Ubuntu:22.04:LTSlinux-oracle5.15.0-1081.87UBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-oracle6.8.0-1027.28USN-7595-4
Ubuntu:24.04:LTSlinux-oracle6.8.0-1027.28UBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-oracle-6.5no fix listedUBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-oracle-6.86.8.0-1027.28~22.04.1USN-7595-4
Ubuntu:22.04:LTSlinux-oracle-6.86.8.0-1027.28~22.04.1UBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-raspi5.15.0-1078.81UBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-raspi6.8.0-1029.33USN-7595-4
Ubuntu:24.04:LTSlinux-raspi6.8.0-1029.33UBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-raspi-realtimeno fix listedUBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-realtimeno fix listedUBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-riscvno fix listedUBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-riscv-5.19no fix listedUBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-riscv-6.5no fix listedUBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-riscv-6.86.8.0-62.65~22.04.1UBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-starfive-5.19no fix listedUBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-starfive-6.2no fix listedUBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-starfive-6.5no fix listedUBUNTU-CVE-2025-21943
Ubuntu:24.04:LTSlinux-xilinx6.8.0-1017.18UBUNTU-CVE-2025-21943
Ubuntu:22.04:LTSlinux-xilinx-zynqmp5.15.0-1050.54UBUNTU-CVE-2025-21943

Affected products (as reported)

VendorProductVersions
Linux Linux 828546e24280f721350a7a0dcc92416e917b4382 – before fd6aa1f8cbe0979eb66ac32ebc231bf0b10a2117828546e24280f721350a7a0dcc92416e917b4382 – before 807789018186cf508ceb3a1f8f02935cd195717b828546e24280f721350a7a0dcc92416e917b4382 – before 9334c88fc2fbc6836b307d269fcc1744c69701c0828546e24280f721350a7a0dcc92416e917b4382 – before d99dc8f7ea01ee1b21306e0eda8eb18a4af80db6828546e24280f721350a7a0dcc92416e917b4382 – before 8fb07fb1bba91d45846ed8605c3097fe67a7d54c828546e24280f721350a7a0dcc92416e917b4382 – before 56281a76b805b5ac61feb5d580139695a22f87f0828546e24280f721350a7a0dcc92416e917b4382 – before 12f65d1203507f7db3ba59930fe29a3b8eee9945
Linux Linux 5.8

Weakness: CWE-362 · Vector: CVSS:3.1/AV:L/AC:H/PR:L/UI:N/S:U/C:N/I:N/A:H

References