Skip to content
OpenAdvisories
High · 7.8 CVE-2022-49505 EUVD-2022-54724GHSA-m645-2c8g-gg4p

NFC: NULL out the dev->rfkill to prevent UAF

Published Feb 26, 2025 · Updated Aug 5, 2026 · Assigned by Linux

Vendor: Linux Product: Linux Package: linux Package: linux Package: linux-allwinner-5.19 Package: linux-aws Package: linux-aws-5.0 Package: linux-aws-5.11 Package: linux-aws-5.13 Package: linux-aws-5.15 Package: linux-aws-5.19 Package: linux-aws-5.3 Package: linux-aws-5.4 Package: linux-aws-5.8 Package: linux-aws-6.2 Package: linux-aws-6.5 Package: linux-aws-fips Package: linux-aws-hwe Package: linux-azure Package: linux-azure-4.15 Package: linux-azure-5.11 Package: linux-azure-5.13 Package: linux-azure-5.15 Package: linux-azure-5.19 Package: linux-azure-5.3 Package: linux-azure-5.4 Package: linux-azure-5.8 Package: linux-azure-6.2 Package: linux-azure-6.5 Package: linux-azure-edge Package: linux-azure-fde Package: linux-azure-fde-5.19 Package: linux-azure-fde-6.2 Package: linux-azure-fips Package: linux-bluefield Package: linux-fips Package: linux-gcp Package: linux-gcp-4.15 Package: linux-gcp-5.11 Package: linux-gcp-5.13 Package: linux-gcp-5.15 Package: linux-gcp-5.19 Package: linux-gcp-5.3 Package: linux-gcp-5.4 Package: linux-gcp-5.8 Package: linux-gcp-6.2 Package: linux-gcp-6.5 Package: linux-gcp-fips Package: linux-gke Package: linux-gke-4.15 Package: linux-gke-5.15 Package: linux-gke-5.4 Package: linux-gkeop Package: linux-gkeop-5.15 Package: linux-gkeop-5.4 Package: linux-hwe Package: linux-hwe-5.11 Package: linux-hwe-5.13 Package: linux-hwe-5.15 Package: linux-hwe-5.19 Package: linux-hwe-5.4 Package: linux-hwe-5.8 Package: linux-hwe-6.2 Package: linux-hwe-6.5 Package: linux-hwe-edge Package: linux-ibm Package: linux-ibm-5.4 Package: linux-intel-5.13 Package: linux-intel-iot-realtime Package: linux-intel-iotg Package: linux-intel-iotg-5.15 Package: linux-iot Package: linux-kvm Package: linux-lowlatency Package: linux-lowlatency-hwe-5.15 Package: linux-lowlatency-hwe-5.19 Package: linux-lowlatency-hwe-6.2 Package: linux-lowlatency-hwe-6.5 Package: linux-nvidia Package: linux-nvidia-6.2 Package: linux-nvidia-6.5 Package: linux-oem Package: linux-oem-5.10 Package: linux-oem-5.13 Package: linux-oem-5.14 Package: linux-oem-5.17 Package: linux-oem-5.6 Package: linux-oem-6.0 Package: linux-oem-6.1 Package: linux-oem-6.5 Package: linux-oracle Package: linux-oracle-5.0 Package: linux-oracle-5.11 Package: linux-oracle-5.13 Package: linux-oracle-5.15 Package: linux-oracle-5.3 Package: linux-oracle-5.4 Package: linux-oracle-5.8 Package: linux-oracle-6.5 Package: linux-raspi Package: linux-raspi-5.4 Package: linux-raspi-realtime Package: linux-raspi2 Package: linux-realtime Package: linux-riscv Package: linux-riscv-5.11 Package: linux-riscv-5.15 Package: linux-riscv-5.19 Package: linux-riscv-5.8 Package: linux-riscv-6.5 Package: linux-starfive-5.19 Package: linux-starfive-6.2 Package: linux-starfive-6.5 Platform: Linux Ecosystem: Debian Ecosystem: Ubuntu

Description

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

NFC: NULL out the dev->rfkill to prevent UAF

Commit 3e3b5dfcd16a ("NFC: reorder the logic in nfc_{un,}register_device")
assumes the device_is_registered() in function nfc_dev_up() will help
to check when the rfkill is unregistered. However, this check only
take effect when device_del(&dev->dev) is done in nfc_unregister_device().
Hence, the rfkill object is still possible be dereferenced.

The crash trace in latest kernel (5.18-rc2):

[ 68.760105] ==================================================================
[ 68.760330] BUG: KASAN: use-after-free in __lock_acquire+0x3ec1/0x6750
[ 68.760756] Read of size 8 at addr ffff888009c93018 by task fuzz/313
[ 68.760756]
[ 68.760756] CPU: 0 PID: 313 Comm: fuzz Not tainted 5.18.0-rc2 #4
[ 68.760756] Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS rel-1.14.0-0-g155821a1990b-prebuilt.qemu.org 04/01/2014
[ 68.760756] Call Trace:
[ 68.760756] <TASK>
[ 68.760756] dump_stack_lvl+0x57/0x7d
[ 68.760756] print_report.cold+0x5e/0x5db
[ 68.760756] ? __lock_acquire+0x3ec1/0x6750
[ 68.760756] kasan_report+0xbe/0x1c0
[ 68.760756] ? __lock_acquire+0x3ec1/0x6750
[ 68.760756] __lock_acquire+0x3ec1/0x6750
[ 68.760756] ? lockdep_hardirqs_on_prepare+0x410/0x410
[ 68.760756] ? register_lock_class+0x18d0/0x18d0
[ 68.760756] lock_acquire+0x1ac/0x4f0
[ 68.760756] ? rfkill_blocked+0xe/0x60
[ 68.760756] ? lockdep_hardirqs_on_prepare+0x410/0x410
[ 68.760756] ? mutex_lock_io_nested+0x12c0/0x12c0
[ 68.760756] ? nla_get_range_signed+0x540/0x540
[ 68.760756] ? _raw_spin_lock_irqsave+0x4e/0x50
[ 68.760756] _raw_spin_lock_irqsave+0x39/0x50
[ 68.760756] ? rfkill_blocked+0xe/0x60
[ 68.760756] rfkill_blocked+0xe/0x60
[ 68.760756] nfc_dev_up+0x84/0x260
[ 68.760756] nfc_genl_dev_up+0x90/0xe0
[ 68.760756] genl_family_rcv_msg_doit+0x1f4/0x2f0
[ 68.760756] ? genl_family_rcv_msg_attrs_parse.constprop.0+0x230/0x230
[ 68.760756] ? security_capable+0x51/0x90
[ 68.760756] genl_rcv_msg+0x280/0x500
[ 68.760756] ? genl_get_cmd+0x3c0/0x3c0
[ 68.760756] ? lock_acquire+0x1ac/0x4f0
[ 68.760756] ? nfc_genl_dev_down+0xe0/0xe0
[ 68.760756] ? lockdep_hardirqs_on_prepare+0x410/0x410
[ 68.760756] netlink_rcv_skb+0x11b/0x340
[ 68.760756] ? genl_get_cmd+0x3c0/0x3c0
[ 68.760756] ? netlink_ack+0x9c0/0x9c0
[ 68.760756] ? netlink_deliver_tap+0x136/0xb00
[ 68.760756] genl_rcv+0x1f/0x30
[ 68.760756] netlink_unicast+0x430/0x710
[ 68.760756] ? memset+0x20/0x40
[ 68.760756] ? netlink_attachskb+0x740/0x740
[ 68.760756] ? __build_skb_around+0x1f4/0x2a0
[ 68.760756] netlink_sendmsg+0x75d/0xc00
[ 68.760756] ? netlink_unicast+0x710/0x710
[ 68.760756] ? netlink_unicast+0x710/0x710
[ 68.760756] sock_sendmsg+0xdf/0x110
[ 68.760756] __sys_sendto+0x19e/0x270
[ 68.760756] ? __ia32_sys_getpeername+0xa0/0xa0
[ 68.760756] ? fd_install+0x178/0x4c0
[ 68.760756] ? fd_install+0x195/0x4c0
[ 68.760756] ? kernel_fpu_begin_mask+0x1c0/0x1c0
[ 68.760756] __x64_sys_sendto+0xd8/0x1b0
[ 68.760756] ? lockdep_hardirqs_on+0xbf/0x130
[ 68.760756] ? syscall_enter_from_user_mode+0x1d/0x50
[ 68.760756] do_syscall_64+0x3b/0x90
[ 68.760756] entry_SYSCALL_64_after_hwframe+0x44/0xae
[ 68.760756] RIP: 0033:0x7f67fb50e6b3
...
[ 68.760756] RSP: 002b:00007f67fa91fe90 EFLAGS: 00000293 ORIG_RAX: 000000000000002c
[ 68.760756] RAX: ffffffffffffffda RBX: 0000000000000000 RCX: 00007f67fb50e6b3
[ 68.760756] RDX: 000000000000001c RSI: 0000559354603090 RDI: 0000000000000003
[ 68.760756] RBP: 00007f67fa91ff00 R08: 00007f67fa91fedc R09: 000000000000000c
[ 68.760756] R10: 0000000000000000 R11: 0000000000000293 R12: 00007ffe824d496e
[ 68.760756] R13: 00007ffe824d496f R14: 00007f67fa120000 R15: 0000000000000003

[ 68.760756] </TASK>
[ 68.760756]
[ 68.760756] Allocated by task 279:
[ 68.760756] kasan_save_stack+0x1e/0x40
[
---truncated---

Affected products

VendorProductAffectedFixed
Linux Linux 4.9.291 – < 4.9.318, 4.14.256 – < 4.14.283, 4.19.218 – < 4.19.247, 5.4.162 – < 5.4.198, 5.10.82 – < 5.10.121, 5.15.5 – < 5.15.46, 4.4.293 – < 4.5, 5.16 4.9.318

Fixed in Linux distributions

Distributions backport fixes, so the version that fixes this vulnerability differs per release — upgrade to at least the version shown. From the distributions' security trackers and advisories.

ReleasePackageFixed inAdvisory
Debian 14 linux 5.18.5-1 —
Debian 13 linux 5.18.5-1 —
Debian 12 linux 5.18.5-1 —
ReleasePackageFixed inAdvisory
Ubuntu 24.04 LTS linux-raspi-realtime No fix yet —
Ubuntu 22.04 LTS linux 5.15.0-47.51 —
Ubuntu 22.04 LTS linux-aws 5.15.0-1019.23 —
Ubuntu 22.04 LTS linux-azure 5.15.0-1019.24 —
Ubuntu 22.04 LTS linux-gcp 5.15.0-1017.23 —
Ubuntu 22.04 LTS linux-gke 5.15.0-1015.18 —
Ubuntu 22.04 LTS linux-gkeop 5.15.0-1002.4 —
Ubuntu 22.04 LTS linux-ibm 5.15.0-1013.15 —
Ubuntu 22.04 LTS linux-intel-iotg 5.15.0-1015.20 —
Ubuntu 22.04 LTS linux-kvm 5.15.0-1017.21 —
Ubuntu 22.04 LTS linux-lowlatency 5.15.0-47.53 —
Ubuntu 22.04 LTS linux-nvidia 5.15.0-1007.7 —
Ubuntu 22.04 LTS linux-oracle 5.15.0-1017.22 —
Ubuntu 22.04 LTS linux-raspi 5.15.0-1014.16 —
Ubuntu 22.04 LTS linux-riscv +32 No fix yet —
Ubuntu 20.04 LTS linux 5.4.0-126.142 —
Ubuntu 20.04 LTS linux-aws 5.4.0-1085.92 —
Ubuntu 20.04 LTS linux-aws-5.15 5.15.0-1019.23~20.04.1 —
Ubuntu 20.04 LTS linux-azure 5.4.0-1091.96 —
Ubuntu 20.04 LTS linux-azure-5.15 5.15.0-1019.24~20.04.1 —
Ubuntu 20.04 LTS linux-bluefield 5.4.0-1046.51 —
Ubuntu 20.04 LTS linux-gcp 5.4.0-1089.97 —
Ubuntu 20.04 LTS linux-gcp-5.15 5.15.0-1017.23~20.04.2 —
Ubuntu 20.04 LTS linux-gke +28 No fix yet —
Ubuntu 20.04 LTS linux-hwe-5.15 +1 5.15.0-48.54~20.04.1 —
Ubuntu 20.04 LTS linux-ibm 5.4.0-1033.37 —
Ubuntu 20.04 LTS linux-intel-iotg-5.15 5.15.0-1015.20~20.04.2 —
Ubuntu 20.04 LTS linux-iot 5.4.0-1004.6 —
Ubuntu 20.04 LTS linux-kvm 5.4.0-1075.80 —
Ubuntu 20.04 LTS linux-oracle 5.4.0-1083.91 —
Ubuntu 20.04 LTS linux-oracle-5.15 5.15.0-1017.22~20.04.1 —
Ubuntu 20.04 LTS linux-raspi 5.4.0-1070.80 —
Ubuntu 20.04 LTS linux-riscv-5.15 5.15.0-1018.21~20.04.1 —
Ubuntu 18.04 LTS linux 4.15.0-192.203 —
Ubuntu 18.04 LTS linux-aws 4.15.0-1140.151 —
Ubuntu 18.04 LTS linux-aws-5.4 5.4.0-1085.92~18.04.1 —
Ubuntu 18.04 LTS linux-azure-4.15 4.15.0-1150.165 —
Ubuntu 18.04 LTS linux-azure-5.4 5.4.0-1091.96~18.04.1 —
Ubuntu 18.04 LTS linux-gcp +14 No fix yet —
Ubuntu 18.04 LTS linux-gcp-4.15 4.15.0-1135.151 —
Ubuntu 18.04 LTS linux-gcp-5.4 5.4.0-1089.97~18.04.1 —
Ubuntu 18.04 LTS linux-hwe-5.4 5.4.0-126.142~18.04.1 —
Ubuntu 18.04 LTS linux-ibm-5.4 5.4.0-1033.37~18.04.1 —
Ubuntu 18.04 LTS linux-kvm 4.15.0-1126.131 —
Ubuntu 18.04 LTS linux-oracle 4.15.0-1105.116 —
Ubuntu 18.04 LTS linux-oracle-5.4 5.4.0-1083.91~18.04.1 —
Ubuntu 18.04 LTS linux-raspi-5.4 5.4.0-1070.80~18.04.1 —
Ubuntu 16.04 LTS linux-hwe-edge No fix yet —
Show 5 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
Ubuntu Pro Realtime 22.04 LTS linux-realtime 5.15.0-1020.20 —
Ubuntu Pro FIPS-updates 20.04 LTS linux-aws-fips 5.4.0-1085.92+fips1 —
Ubuntu Pro FIPS-updates 20.04 LTS linux-azure-fips 5.4.0-1091.96+fips1 —
Ubuntu Pro FIPS-updates 20.04 LTS linux-fips 5.4.0-1061.69 —
Ubuntu Pro FIPS-updates 20.04 LTS linux-gcp-fips 5.4.0-1089.97+fips1 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-aws-fips 4.15.0-2079.84 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-azure-fips 4.15.0-2060.66 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-fips 4.15.0-1097.108 —
Ubuntu Pro FIPS-updates 18.04 LTS linux-gcp-fips 4.15.0-2044.49 —
Ubuntu Pro 16.04 LTS linux-aws-hwe 4.15.0-1140.151~16.04.1 —
Ubuntu Pro 16.04 LTS linux-azure 4.15.0-1150.165~16.04.1 —
Ubuntu Pro 16.04 LTS linux-gcp 4.15.0-1135.151~16.04.2 —
Ubuntu Pro 16.04 LTS linux-hwe 4.15.0-192.203~16.04.1 —
Ubuntu Pro 16.04 LTS linux-oracle 4.15.0-1105.116~16.04.1 —
Ubuntu Pro 14.04 LTS linux-azure 4.15.0-1150.165~14.04.1 —
ReleasePackageFixed inAdvisory
SLES 15 SP5 kernel-64kb +6 5.14.21-150500.55.100.1 SUSE-SU-2025:1241-1
SLES 15 SP5 kernel-default-base 5.14.21-150500.55.100.1.150500.6.47.1 SUSE-SU-2025:1241-1
SLES 15 SP4 kernel-64kb +6 5.14.21-150400.24.158.1 SUSE-SU-2025:1027-1
SLES 15 SP4 kernel-default-base 5.14.21-150400.24.158.1.150400.24.78.1 SUSE-SU-2025:1027-1
SLES 15 SP3 kernel-64kb +7 5.3.18-150300.59.201.1 SUSE-SU-2025:1263-1
SLES 15 SP3 kernel-default-base 5.3.18-150300.59.201.1.150300.18.120.1 SUSE-SU-2025:1263-1
SLES 12 SP5 kernel-syms +2 4.12.14-122.255.1 SUSE-SU-2025:1293-1
Show 18 more (older releases, extended support, other products)
ReleasePackageFixed inAdvisory
SLES for SAP 15 SP5 kernel-default-base 5.14.21-150500.55.100.1.150500.6.47.1 SUSE-SU-2025:1241-1
SLES for SAP 15 SP5 kernel-docs +4 5.14.21-150500.55.100.1 SUSE-SU-2025:1241-1
SLES for SAP 15 SP4 kernel-default-base 5.14.21-150400.24.158.1.150400.24.78.1 SUSE-SU-2025:1027-1
SLES for SAP 15 SP4 kernel-docs +4 5.14.21-150400.24.158.1 SUSE-SU-2025:1027-1
SLES for SAP 15 SP3 kernel-default-base 5.3.18-150300.59.201.1.150300.18.120.1 SUSE-SU-2025:1263-1
SLES for SAP 15 SP3 kernel-docs +5 5.3.18-150300.59.201.1 SUSE-SU-2025:1263-1
SLE Micro 5.5 kernel-default-base 5.14.21-150500.55.100.1.150500.6.47.1 SUSE-SU-2025:1241-1
SLE Micro 5.5 kernel-rt +1 5.14.21-150500.13.91.1 SUSE-SU-2025:1176-1
SLE Micro 5.5 kernel-source +1 5.14.21-150500.55.100.1 SUSE-SU-2025:1241-1
SLE Micro 5.4 kernel-default 5.14.21-150400.24.158.1 SUSE-SU-2025:1027-1
SLE Micro 5.4 kernel-default-base 5.14.21-150400.24.158.1.150400.24.78.1 SUSE-SU-2025:1027-1
SLE Micro 5.4 kernel-rt +1 5.14.21-150400.15.115.1 SUSE-SU-2025:1183-1
SLE Micro 5.3 kernel-default 5.14.21-150400.24.158.1 SUSE-SU-2025:1027-1
SLE Micro 5.3 kernel-default-base 5.14.21-150400.24.158.1.150400.24.78.1 SUSE-SU-2025:1027-1
SLE Micro 5.3 kernel-rt +1 5.14.21-150400.15.115.1 SUSE-SU-2025:1183-1
SLE Micro 5.2 kernel-default 5.3.18-150300.59.201.1 SUSE-SU-2025:1263-1
SLE Micro 5.2 kernel-default-base 5.3.18-150300.59.201.1.150300.18.120.1 SUSE-SU-2025:1263-1
SLE Micro 5.2 kernel-rt +1 5.3.18-150300.205.1 SUSE-SU-2025:1194-1
SLE Micro 5.1 kernel-default 5.3.18-150300.59.201.1 SUSE-SU-2025:1263-1
SLE Micro 5.1 kernel-default-base 5.3.18-150300.59.201.1.150300.18.120.1 SUSE-SU-2025:1263-1
SLE Micro 5.1 kernel-rt +1 5.3.18-150300.205.1 SUSE-SU-2025:1194-1
SLE Live Patching 15 SP5 kernel-default 5.14.21-150500.55.100.1 SUSE-SU-2025:1241-1
SLE Live Patching 15 SP5 kernel-livepatch-SLE15-SP5_Update_25 1-150500.11.3.1 SUSE-SU-2025:1241-1
SLE Live Patching 15 SP4 kernel-default 5.14.21-150400.24.158.1 SUSE-SU-2025:1027-1
SLE Live Patching 15 SP4 kernel-livepatch-SLE15-SP4_Update_38 1-150400.9.3.1 SUSE-SU-2025:1027-1
SLE Live Patching 15 SP3 kernel-default 5.3.18-150300.59.201.1 SUSE-SU-2025:1263-1
SLE Live Patching 15 SP3 kernel-livepatch-SLE15-SP3_Update_56 1-150300.7.3.1 SUSE-SU-2025:1263-1
SLE Live Patching 12 SP5 kernel-default 4.12.14-122.255.1 SUSE-SU-2025:1293-1
SLE Live Patching 12 SP5 kgraft-patch-SLE12-SP5_Update_67 1-8.5.1 SUSE-SU-2025:1293-1
SLE HPC 15 SP5 kernel-64kb +5 5.14.21-150500.55.100.1 SUSE-SU-2025:1241-1
SLE HPC 15 SP5 kernel-default-base 5.14.21-150500.55.100.1.150500.6.47.1 SUSE-SU-2025:1241-1
SLE HPC 15 SP4 kernel-64kb +5 5.14.21-150400.24.158.1 SUSE-SU-2025:1027-1
SLE HPC 15 SP4 kernel-default-base 5.14.21-150400.24.158.1.150400.24.78.1 SUSE-SU-2025:1027-1
SLE HPC 15 SP3 kernel-64kb +6 5.3.18-150300.59.201.1 SUSE-SU-2025:1263-1
SLE HPC 15 SP3 kernel-default-base 5.3.18-150300.59.201.1.150300.18.120.1 SUSE-SU-2025:1263-1
SUSE Manager Server 4.3 kernel-default-base 5.14.21-150400.24.158.1.150400.24.78.1 SUSE-SU-2025:1027-1
SUSE Manager Server 4.3 kernel-syms +3 5.14.21-150400.24.158.1 SUSE-SU-2025:1027-1
SUSE Manager Proxy 4.3 kernel-default-base 5.14.21-150400.24.158.1.150400.24.78.1 SUSE-SU-2025:1027-1
SUSE Manager Proxy 4.3 kernel-syms +2 5.14.21-150400.24.158.1 SUSE-SU-2025:1027-1
SUSE Enterprise Storage 7.1 kernel-64kb +6 5.3.18-150300.59.201.1 SUSE-SU-2025:1263-1
SUSE Enterprise Storage 7.1 kernel-default-base 5.3.18-150300.59.201.1.150300.18.120.1 SUSE-SU-2025:1263-1

Advisories 7

References