CVE-2025-71079: net: nfc: fix deadlock between nfc_unregister_device and rfkill_fop_write

Published Jan 13, 2026
·
Updated

In the Linux kernel, the following vulnerability has been resolved:

net: nfc: fix deadlock between nfcunregisterdevice and rfkillfopwrite

A deadlock can occur between nfcunregisterdevice() and rfkillfopwrite() due to lock ordering inversion between devicelock and rfkillglobalmutex.

The problematic lock order is:

Thread A (rfkillfopwrite): rfkillfopwrite() mutexlock(&rfkillglobalmutex) rfkillsetblock() nfcrfkillsetblock() nfcdevdown() devicelock(&dev->dev) <- waits for devicelock

Thread B (nfcunregisterdevice): nfcunregisterdevice() devicelock(&dev->dev) rfkillunregister() mutexlock(&rfkillglobalmutex) <- waits for rfkillglobalmutex

This creates a classic ABBA deadlock scenario.

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

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

The similar lock ordering in nfcregisterdevice() (devicelock -> rfkillglobalmutex via rfkillregister) is safe because during registration the device is not yet in rfkilllist, so no concurrent rfkill operations can occur on this device.

Affected Software

22 affected componentsFixes available
linux/kernel
Microsoft azl3 kernel 6.6.119.3-3
Linux Linux kernel>=4.4.293<4.5
Linux Linux kernel>=4.9.291<4.10
Linux Linux kernel>=4.14.256<4.15
Linux Linux kernel>=4.19.218<4.20
Linux Linux kernel>=5.4.162<5.5
Linux Linux kernel>=5.10.82<5.10.248
Linux Linux kernel>=5.15.5<5.15.198
Linux Linux kernel>=5.16.1<6.1.160
Linux Linux kernel>=6.2<6.6.120
Linux Linux kernel>=6.7<6.12.64
Linux Linux kernel>=6.13<6.18.4
Linux Linux kernel=5.16
Linux Linux kernel=6.19-rc1
Linux Linux kernel=6.19-rc2
Linux Linux kernel=6.19-rc3
Linux Linux kernel=6.19-rc4
Linux Linux kernel=6.19-rc5
Linux Linux kernel=6.19-rc6
Linux Linux kernel=6.19-rc7
Linux Linux kernel=6.19-rc8

Remediation

Recommended actions to resolve this vulnerability, in priority order.

  1. Configuration

    Fix the deadlock (ABBA) by storing the rfkill pointer in a local variable, then moving the rfkill_unregister() and rfkill_destroy() calls outside the device_lock(&dev->dev) critical section. Ensure rfkill_unregister() is invoked after releasing the device_lock(&dev->dev), and rely on the fact that rfkill_fop_write() holds rfkill_global_mutex while calling/handling operations so that the corrected lock ordering avoids inversion between device_lock and rfkill_global_mutex.

    Linux kernel (net: nfc) rfkill_unregister() and rfkill_destroy() call placement relative to device_lock and rfkill_global_mutex = Move outside the device_lock critical section; store rfkill pointer in a local variable

Event History

Jan 13, 2026
CVE Published
via MITRE·03:34 PM
Data Sourced
via MITRE·03:34 PM
Description
Data Sourced
via NVD·04:16 PM
RemedyDescriptionSeverityWeaknessAffected Software
Jan 15, 2026
Data Sourced
via Microsoft·09:02 AM
DescriptionSeverityWeakness
Data Sourced
via Microsoft·09:02 AM
Affected Software
Updated
via Microsoft·09:02 AM
DescriptionSeverity

Frequently Asked Questions

1

What is the severity of CVE-2025-71079?

The severity of CVE-2025-71079 is classified as moderate due to the potential for deadlock in the Linux kernel.

2

How do I fix CVE-2025-71079?

To fix CVE-2025-71079, it is recommended to update to the latest version of the Linux kernel that includes the patch for this deadlock issue.

3

What components are affected by CVE-2025-71079?

CVE-2025-71079 affects the NFC subsystem within the Linux kernel, specifically the functions related to NFC device registration and RF kill status.

4

What are the potential risks associated with CVE-2025-71079?

The potential risks of CVE-2025-71079 include application crashes or hang-ups due to deadlock conditions when interacting with NFC devices.

5

Who reported CVE-2025-71079?

CVE-2025-71079 was reported as a vulnerability in the Linux kernel related to the NFC subsystem.

Contact

SecAlerts Pty Ltd.
132 Wickham Terrace
Fortitude Valley,
QLD 4006, Australia
info@secalerts.co
By using SecAlerts services, you agree to our services end-user license agreement. This website is safeguarded by reCAPTCHA and governed by the Google Privacy Policy and Terms of Service. All names, logos, and brands of products are owned by their respective owners, and any usage of these names, logos, and brands for identification purposes only does not imply endorsement. If you possess any content that requires removal, please get in touch with us.
© 2026 SecAlerts Pty Ltd.
ABN: 70 645 966 203, ACN: 645 966 203