CVE-2025-71079

EUVD-2026-2243
In the Linux kernel, the following vulnerability has been resolved:

net: nfc: fix deadlock between nfc_unregister_device and rfkill_fop_write

A deadlock can occur between nfc_unregister_device() and rfkill_fop_write()
due to lock ordering inversion between device_lock and rfkill_global_mutex.

The problematic lock order is:

Thread A (rfkill_fop_write):
  rfkill_fop_write()
    mutex_lock(&rfkill_global_mutex)
      rfkill_set_block()
        nfc_rfkill_set_block()
          nfc_dev_down()
            device_lock(&dev->dev)    <- waits for device_lock

Thread B (nfc_unregister_device):
  nfc_unregister_device()
    device_lock(&dev->dev)
      rfkill_unregister()
        mutex_lock(&rfkill_global_mutex)  <- waits for rfkill_global_mutex

This creates a classic ABBA deadlock scenario.

Fix this by moving rfkill_unregister() and rfkill_destroy() outside the
device_lock critical section. Store the rfkill pointer in a local variable
before releasing the lock, then call rfkill_unregister() after releasing
device_lock.

This change is safe because rfkill_fop_write() holds rfkill_global_mutex
while calling the rfkill callbacks, and rfkill_unregister() also acquires
rfkill_global_mutex before cleanup. Therefore, rfkill_unregister() will
wait for any ongoing callback to complete before proceeding, and
device_del() is only called after rfkill_unregister() returns, preventing
any use-after-free.

The similar lock ordering in nfc_register_device() (device_lock ->
rfkill_global_mutex via rfkill_register) is safe because during
registration the device is not yet in rfkill_list, so no concurrent
rfkill operations can occur on this device.
ProviderTypeBase ScoreAtk. VectorAtk. ComplexityPriv. RequiredVector
NISTPrimary
5.5 MEDIUM
LOCAL
LOW
LOW
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H
Base Score
CVSS 3.x
EPSS Score
Percentile: 7%
Affected Products (NVD)
VendorProductVersion
linuxlinux_kernel
4.4.293 ≤
𝑥
< 4.5
linuxlinux_kernel
4.9.291 ≤
𝑥
< 4.10
linuxlinux_kernel
4.14.256 ≤
𝑥
< 4.15
linuxlinux_kernel
4.19.218 ≤
𝑥
< 4.20
linuxlinux_kernel
5.4.162 ≤
𝑥
< 5.5
linuxlinux_kernel
5.10.82 ≤
𝑥
< 5.10.248
linuxlinux_kernel
5.15.5 ≤
𝑥
< 5.15.198
linuxlinux_kernel
5.16.1 ≤
𝑥
< 6.1.160
linuxlinux_kernel
6.2 ≤
𝑥
< 6.6.120
linuxlinux_kernel
6.7 ≤
𝑥
< 6.12.64
linuxlinux_kernel
6.13 ≤
𝑥
< 6.18.4
linuxlinux_kernel
5.16
linuxlinux_kernel
6.19:rc1
linuxlinux_kernel
6.19:rc2
linuxlinux_kernel
6.19:rc3
linuxlinux_kernel
6.19:rc4
linuxlinux_kernel
6.19:rc5
linuxlinux_kernel
6.19:rc6
linuxlinux_kernel
6.19:rc7
linuxlinux_kernel
6.19:rc8
𝑥
= Vulnerable software versions
Debian logo
Debian Releases
Debian Product
Codename
linux
bookworm
6.1.170-3
fixed
bookworm (security)
6.1.172-1
fixed
bullseye
vulnerable
bullseye (security)
5.10.251-5
fixed
forky
7.0.9-1
fixed
sid
7.0.9-1
fixed
trixie
6.12.86-1
fixed
trixie (security)
6.12.90-1
fixed
linux-6.1
bullseye (security)
6.1.172-1~deb11u1
fixed
openSUSE logo
openSUSE / SLES Releases
openSUSE Product
Release
kernel-64kb
suse enterprise desktop 15 SP7
6.4.0-150700.53.31.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.31.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.31.1
fixed
kernel-azure
suse enterprise sap 15 SP7
6.4.0-150700.20.27.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.20.27.1
fixed
kernel-default
suse enterprise desktop 15 SP7
6.4.0-150700.53.31.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.31.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.31.1
fixed
kernel-default-base
suse enterprise desktop 15 SP7
6.4.0-150700.53.31.1.150700.17.21.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.31.1.150700.17.21.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.31.1.150700.17.21.1
fixed
kernel-docs
suse enterprise desktop 15 SP7
6.4.0-150700.53.31.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.31.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.31.1
fixed
kernel-macros
suse enterprise desktop 15 SP7
6.4.0-150700.53.31.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.31.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.31.1
fixed
kernel-obs-build
suse enterprise desktop 15 SP7
6.4.0-150700.53.31.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.31.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.31.1
fixed
kernel-source
suse enterprise desktop 15 SP7
6.4.0-150700.53.31.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.31.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.31.1
fixed
kernel-source-azure
suse enterprise sap 15 SP7
6.4.0-150700.20.27.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.20.27.1
fixed
kernel-syms
suse enterprise desktop 15 SP7
6.4.0-150700.53.31.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.31.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.31.1
fixed
kernel-syms-azure
suse enterprise sap 15 SP7
6.4.0-150700.20.27.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.20.27.1
fixed
kernel-zfcpdump
suse enterprise desktop 15 SP7
6.4.0-150700.53.31.1
fixed
suse enterprise sap 15 SP7
6.4.0-150700.53.31.1
fixed
suse enterprise server 15 SP7
6.4.0-150700.53.31.1
fixed