Vulnerability · Published Apr 16, 2025 · Assigned by Linux
CVE-2025-22111net: Remove RTNL dance for SIOCBRADDIF and SIOCBRDELIF.
Medium 5.5
In plain English
A medium-severity security flaw 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 11% of all known vulnerabilities). Fixed versions are available - upgrade the affected package.
Official description
In the Linux kernel, the following vulnerability has been resolved: net: Remove RTNL dance for SIOCBRADDIF and SIOCBRDELIF. SIOCBRDELIF is passed to dev_ioctl() first and later forwarded to br_ioctl_call(), which causes unnecessary RTNL dance and the splat below [0] under RTNL pressure. Let's say Thread A is trying to detach a device from a bridge and Thread B is trying to remove the bridge. In dev_ioctl(), Thread A bumps the bridge device's refcnt by netdev_hold() and releases RTNL because the following br_ioctl_call() also re-acquires RTNL. In the race window, Thread B could acquire RTNL and try to remove the bridge device. Then, rtnl_unlock() by Thread B will release RTNL and wait for netdev_put() by Thread A. Thread A, however, must hold RTNL after the unlock in dev_ifsioc(), which may take long under RTNL pressure, resulting in the splat by Thread B. Thread A (SIOCBRDELIF) Thread B (SIOCBRDELBR) ---------------------- ---------------------- sock_ioctl sock_ioctl `- sock_do_ioctl `- br_ioctl_call `- dev_ioctl `- br_ioctl_stub |- rtnl_lock | |- dev_ifsioc ' ' |- dev = __dev_get_by_name(...) |- netdev_hold(dev, ...) . / |- rtnl_unlock ------. | | |- br_ioctl_call `---> |- rtnl_lock Race | | `- br_ioctl_stub |- br_del_bridge Window | | | |- dev = __dev_get_by_name(...) | | | May take long | `- br_dev_delete(dev, ...) | | | under RTNL pressure | `- unregister_netdevice_queue(dev, ...) | | | | `- rtnl_unlock \ | |- rtnl_lock <-' `- netdev_run_todo | |- ... `- netdev_run_todo | `- rtnl_unlock |- __rtnl_unlock | |- netdev_wait_allrefs_any |- netdev_put(dev, ...) <----------------' Wait refcnt decrement and log splat below To avoid blocking SIOCBRDELBR unnecessarily, let's not call dev_ioctl() for SIOCBRADDIF and SIOCBRDELIF. In the dev_ioctl() path, we do the following: 1. Copy struct ifreq by get_user_ifreq in sock_do_ioctl() 2. Check CAP_NET_ADMIN in dev_ioctl() 3. Call dev_load() in dev_ioctl() 4. Fetch the master dev from ifr.ifr_name in dev_ifsioc() 3. can be done by request_module() in br_ioctl_call(), so we move 1., 2., and 4. to br_ioctl_stub(). Note that 2. is also checked later in add_del_if(), but it's better performed before RTNL. SIOCBRADDIF and SIOCBRDELIF have been processed in dev_ioctl() since the pre-git era, and there seems to be no specific reason to process them there. [0]: unregister_netdevice: waiting for wpan3 to become free. Usage count = 2 ref_tracker: wpan3@ffff8880662d8608 has 1/1 users at __netdev_tracker_alloc include/linux/netdevice.h:4282 [inline] netdev_hold include/linux/netdevice.h:4311 [inline] dev_ifsioc+0xc6a/0x1160 net/core/dev_ioctl.c:624 dev_ioctl+0x255/0x10c0 net/core/dev_ioctl.c:826 sock_do_ioctl+0x1ca/0x260 net/socket.c:1213 sock_ioctl+0x23a/0x6c0 net/socket.c:1318 vfs_ioctl fs/ioctl.c:51 [inline] __do_sys_ioctl fs/ioctl.c:906 [inline] __se_sys_ioctl fs/ioctl.c:892 [inline] __x64_sys_ioctl+0x1a4/0x210 fs/ioctl.c:892 do_syscall_x64 arch/x86/entry/common.c:52 [inline] do_syscall_64+0xcb/0x250 arch/x86/entry/common.c:83 entry_SYSCALL_64_after_hwframe+0x77/0x7f
Affected packages & fixed versions
| Ecosystem | Package | Fixed in | Advisory |
|---|---|---|---|
| Debian:12 | linux | 6.1.162-1 | DEBIAN-CVE-2025-22111 |
| Debian:12 | linux | 6.1.162-1 | DSA-6127-1 |
| Debian:13 | linux | 6.12.69-1 | DEBIAN-CVE-2025-22111 |
| Debian:13 | linux | 6.12.69-1 | DSA-6126-1 |
| Debian:14 | linux | 6.16.3-1 | DEBIAN-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux | 5.15.0-173.183 | USN-8096-1 |
| Ubuntu:22.04:LTS | linux | 5.15.0-173.183 | UBUNTU-CVE-2025-22111 |
| Ubuntu:24.04:LTS | linux | 6.8.0-110.110 | USN-8179-1 |
| Ubuntu:24.04:LTS | linux | 6.8.0-110.110 | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-allwinner-5.19 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-aws | 5.15.0-1103.110 | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-aws | 5.15.0-1103.110 | USN-8096-1 |
| Ubuntu:24.04:LTS | linux-aws | 6.8.0-1052.55 | USN-8179-1 |
| Ubuntu:24.04:LTS | linux-aws | 6.8.0-1052.55 | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-aws-5.19 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-aws-6.2 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-aws-6.5 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-aws-6.8 | 6.8.0-1052.55~22.04.1 | USN-8179-1 |
| Ubuntu:22.04:LTS | linux-aws-6.8 | 6.8.0-1052.55~22.04.1 | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-azure | 5.15.0-1109.118 | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-azure | 5.15.0-1109.118 | USN-8163-2 |
| Ubuntu:24.04:LTS | linux-azure | 6.8.0-1054.60 | USN-8258-1 |
| Ubuntu:24.04:LTS | linux-azure | 6.8.0-1054.60 | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-azure-5.19 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:24.04:LTS | linux-azure-6.11 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-azure-6.2 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-azure-6.5 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-azure-6.8 | 6.8.0-1059.65~22.04.1 | USN-8440-1 |
| Ubuntu:22.04:LTS | linux-azure-6.8 | 6.8.0-1059.65~22.04.1 | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-azure-fde | 5.15.0-1109.118.1 | UBUNTU-CVE-2025-22111 |
| Ubuntu:24.04:LTS | linux-azure-fde | 6.8.0-1058.65 | UBUNTU-CVE-2025-22111 |
| Ubuntu:25.10 | linux-azure-fde | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-azure-fde-5.19 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-azure-fde-6.2 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-azure-fde-6.8 | 6.8.0-1058.65~22.04.1 | UBUNTU-CVE-2025-22111 |
| Ubuntu:24.04:LTS | linux-azure-nvidia | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-gcp | 5.15.0-1103.112 | USN-8096-1 |
| Ubuntu:22.04:LTS | linux-gcp | 5.15.0-1103.112 | UBUNTU-CVE-2025-22111 |
| Ubuntu:24.04:LTS | linux-gcp | 6.8.0-1054.57 | UBUNTU-CVE-2025-22111 |
| Ubuntu:24.04:LTS | linux-gcp | 6.8.0-1054.57 | USN-8179-1 |
| Ubuntu:22.04:LTS | linux-gcp-5.19 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:24.04:LTS | linux-gcp-6.11 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-gcp-6.2 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-gcp-6.5 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-gcp-6.8 | 6.8.0-1054.57~22.04.1 | USN-8179-4 |
| Ubuntu:22.04:LTS | linux-gcp-6.8 | 6.8.0-1054.57~22.04.1 | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-gke | 5.15.0-1099.105 | USN-8096-3 |
| Ubuntu:22.04:LTS | linux-gke | 5.15.0-1099.105 | UBUNTU-CVE-2025-22111 |
| Ubuntu:24.04:LTS | linux-gke | 6.8.0-1050.56 | USN-8179-1 |
| Ubuntu:24.04:LTS | linux-gke | 6.8.0-1050.56 | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-gkeop | 5.15.0-1086.94 | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-gkeop | 5.15.0-1086.94 | USN-8096-1 |
| Ubuntu:24.04:LTS | linux-gkeop | 6.8.0-1037.40 | UBUNTU-CVE-2025-22111 |
| Ubuntu:24.04:LTS | linux-gkeop | 6.8.0-1037.40 | USN-8179-1 |
| Ubuntu:22.04:LTS | linux-hwe-5.19 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:24.04:LTS | linux-hwe-6.11 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-hwe-6.2 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-hwe-6.5 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-hwe-6.8 | 6.8.0-110.110~22.04.1 | USN-8179-3 |
| Ubuntu:22.04:LTS | linux-hwe-6.8 | 6.8.0-110.110~22.04.1 | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-ibm | 5.15.0-1097.100 | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-ibm | 5.15.0-1097.100 | USN-8096-1 |
| Ubuntu:24.04:LTS | linux-ibm | 6.8.0-1051.51 | UBUNTU-CVE-2025-22111 |
| Ubuntu:24.04:LTS | linux-ibm | 6.8.0-1051.51 | USN-8179-1 |
| Ubuntu:22.04:LTS | linux-ibm-6.8 | 6.8.0-1051.51~22.04.1 | USN-8179-3 |
| Ubuntu:22.04:LTS | linux-ibm-6.8 | 6.8.0-1051.51~22.04.1 | UBUNTU-CVE-2025-22111 |
| Ubuntu:24.04:LTS | linux-intel | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-intel-iot-realtime | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-intel-iotg | 5.15.0-1098.104 | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-intel-iotg | 5.15.0-1098.104 | USN-8096-1 |
| Ubuntu:22.04:LTS | linux-kvm | 5.15.0-1095.100 | USN-8096-1 |
| Ubuntu:22.04:LTS | linux-kvm | 5.15.0-1095.100 | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-lowlatency | 5.15.0-173.183 | USN-8096-1 |
| Ubuntu:22.04:LTS | linux-lowlatency | 5.15.0-173.183 | UBUNTU-CVE-2025-22111 |
| Ubuntu:24.04:LTS | linux-lowlatency | 6.8.0-110.110.1 | USN-8179-1 |
| Ubuntu:24.04:LTS | linux-lowlatency | 6.8.0-110.110.1 | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-5.19 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:24.04:LTS | linux-lowlatency-hwe-6.11 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.2 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.5 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.8 | 6.8.0-110.110.1~22.04.1 | USN-8179-1 |
| Ubuntu:22.04:LTS | linux-lowlatency-hwe-6.8 | 6.8.0-110.110.1~22.04.1 | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-nvidia | 5.15.0-1098.99 | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-nvidia | 5.15.0-1098.99 | USN-8096-1 |
| Ubuntu:24.04:LTS | linux-nvidia | 6.8.0-1051.54 | UBUNTU-CVE-2025-22111 |
| Ubuntu:24.04:LTS | linux-nvidia | 6.8.0-1051.54 | USN-8185-1 |
| Ubuntu:24.04:LTS | linux-nvidia-6.11 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-nvidia-6.2 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-nvidia-6.5 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-nvidia-6.8 | 6.8.0-1051.54~22.04.1 | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-nvidia-6.8 | 6.8.0-1051.54~22.04.1 | USN-8185-1 |
| Ubuntu:24.04:LTS | linux-nvidia-lowlatency | 6.8.0-1051.54.1 | USN-8185-2 |
| Ubuntu:24.04:LTS | linux-nvidia-lowlatency | 6.8.0-1051.54.1 | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-nvidia-tegra | 5.15.0-1055.55 | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-nvidia-tegra | 5.15.0-1055.55 | USN-8096-1 |
| Ubuntu:24.04:LTS | linux-nvidia-tegra | 6.8.0-1022.22 | UBUNTU-CVE-2025-22111 |
| Ubuntu:24.04:LTS | linux-nvidia-tegra | 6.8.0-1022.22 | USN-8265-1 |
| Ubuntu:22.04:LTS | linux-nvidia-tegra-igx | 5.15.0-1044.44 | USN-8096-5 |
| Ubuntu:22.04:LTS | linux-nvidia-tegra-igx | 5.15.0-1044.44 | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-oem-5.17 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-oem-6.0 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-oem-6.1 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:24.04:LTS | linux-oem-6.11 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-oem-6.5 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:24.04:LTS | linux-oem-6.8 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-oracle | 5.15.0-1100.106 | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-oracle | 5.15.0-1100.106 | USN-8096-1 |
| Ubuntu:24.04:LTS | linux-oracle | 6.8.0-1049.50 | UBUNTU-CVE-2025-22111 |
| Ubuntu:24.04:LTS | linux-oracle | 6.8.0-1049.50 | USN-8203-1 |
| Ubuntu:22.04:LTS | linux-oracle-6.5 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-oracle-6.8 | 6.8.0-1049.50~22.04.1 | USN-8203-1 |
| Ubuntu:22.04:LTS | linux-oracle-6.8 | 6.8.0-1049.50~22.04.1 | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-raspi | 5.15.0-1097.100 | USN-8141-1 |
| Ubuntu:22.04:LTS | linux-raspi | 5.15.0-1097.100 | UBUNTU-CVE-2025-22111 |
| Ubuntu:24.04:LTS | linux-raspi | 6.8.0-1052.56 | UBUNTU-CVE-2025-22111 |
| Ubuntu:24.04:LTS | linux-raspi | 6.8.0-1052.56 | USN-8179-3 |
| Ubuntu:24.04:LTS | linux-raspi-realtime | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-realtime | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:24.04:LTS | linux-realtime | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-riscv | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:24.04:LTS | linux-riscv | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-riscv-5.19 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-riscv-6.5 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-riscv-6.8 | 6.8.0-110.110~22.04.1 | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-starfive-5.19 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-starfive-6.2 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-starfive-6.5 | no fix listed | UBUNTU-CVE-2025-22111 |
| Ubuntu:24.04:LTS | linux-xilinx | 6.8.0-1029.30 | USN-8261-1 |
| Ubuntu:24.04:LTS | linux-xilinx | 6.8.0-1028.29 | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-xilinx-zynqmp | 5.15.0-1067.71 | UBUNTU-CVE-2025-22111 |
| Ubuntu:22.04:LTS | linux-xilinx-zynqmp | 5.15.0-1067.71 | USN-8096-1 |
Affected products (as reported)
| Vendor | Product | Versions |
|---|---|---|
| Linux | Linux | 893b195875340cb44b54c9db99e708145f1210e8 – before f51e471cb1577d510c3096e126678e1ea20d2efd893b195875340cb44b54c9db99e708145f1210e8 – before 338a0f3c66aef4ee13052880d02200aae8f2d8a8893b195875340cb44b54c9db99e708145f1210e8 – before d767ce15045df510f55cdd2af5df0eee71f928d0893b195875340cb44b54c9db99e708145f1210e8 – before 4888e1dcc341e9a132ef7b8516234b3c3296de56893b195875340cb44b54c9db99e708145f1210e8 – before 00fe0ac64efd1f5373b3dd9f1f84b19235371e39893b195875340cb44b54c9db99e708145f1210e8 – before ed3ba9b6e280e14cc3148c1b226ba453f02fa76c |
| Linux | Linux | 5.15 |
References
- https://git.kernel.org/stable/c/f51e471cb1577d510c3096e126678e1ea20d2efd
- https://git.kernel.org/stable/c/338a0f3c66aef4ee13052880d02200aae8f2d8a8
- https://git.kernel.org/stable/c/d767ce15045df510f55cdd2af5df0eee71f928d0
- https://git.kernel.org/stable/c/4888e1dcc341e9a132ef7b8516234b3c3296de56
- https://git.kernel.org/stable/c/00fe0ac64efd1f5373b3dd9f1f84b19235371e39
- https://git.kernel.org/stable/c/ed3ba9b6e280e14cc3148c1b226ba453f02fa76c
- https://cert-portal.siemens.com/productcert/html/ssa-019113.html
- https://cert-portal.siemens.com/productcert/html/ssa-457936.html