nfc: pn533: Fix use-after-free bugs caused by pn532_cmd_timeout
Published Jun 18, 2025
7.8
HIGHCVSS 3.1
EPSS 0.25%
Description
When the pn532 uart device is detaching, the pn532_uart_remove() is called. But there are no functions in pn532_uart_remove() that could delete the cmd_timeout timer, which will cause use-after-free bugs. The process is shown below:
(thread 1) | (thread 2) | pn532_uart_send_frame pn532_uart_remove | mod_timer(&pn532->cmd_timeout,...) ... | (wait a time) kfree(pn532) //FREE | pn532_cmd_timeout | pn532_uart_send_frame | pn532->... //USE
This patch adds del_timer_sync() in pn532_uart_remove() in order to prevent the use-after-free bugs. What's more, the pn53x_unregister_nfc() is well synchronized, it sets nfc_dev->shutting_down to true and there are no syscalls could restart the cmd_timeout timer.
Affected products
-
- Version StatusaffectedConstraints
- Version StatusaffectedConstraints
- Version StatusaffectedConstraints
- Version StatusaffectedConstraints
- Version
-
- Version 5.5StatusaffectedConstraints-
- Version 0StatusunaffectedConstraints<5.5
- Version 5.10.140StatusunaffectedConstraints<=5.10.*
- Version 5.15.64StatusunaffectedConstraints<=5.15.*
- Version 5.19.6StatusunaffectedConstraints<=5.19.*
- Version 6.0StatusunaffectedConstraints<=*
- Version
Default status is the baseline for the product, each version can override it (e.g. patched versions marked unaffected).
- ≥ 5.5 · < 5.10.140
- ≥ 5.11 · < 5.15.64
- ≥ 5.16 · < 5.19.6
- 6.0
- 6.0
No data.
Red Hat Enterprise Linux 10
kernel
Not affected
Red Hat Enterprise Linux 6
kernel
Not affected
Red Hat Enterprise Linux 7
kernel
Not affected
Red Hat Enterprise Linux 7
kernel-rt
Not affected
Red Hat Enterprise Linux 8
kernel
Not affected
Red Hat Enterprise Linux 8
kernel-rt
Not affected
Red Hat Enterprise Linux 9
kernel
Not affected
Red Hat Enterprise Linux 9
kernel-rt
Affected
| Product | Package | State | Advisory |
|---|---|---|---|
| Red Hat Enterprise Linux 10 | kernel | Not affected | n/a |
| Red Hat Enterprise Linux 6 | kernel | Not affected | n/a |
| Red Hat Enterprise Linux 7 | kernel | Not affected | n/a |
| Red Hat Enterprise Linux 7 | kernel-rt | Not affected | n/a |
| Red Hat Enterprise Linux 8 | kernel | Not affected | n/a |
| Red Hat Enterprise Linux 8 | kernel-rt | Not affected | n/a |
| Red Hat Enterprise Linux 9 | kernel | Not affected | n/a |
| Red Hat Enterprise Linux 9 | kernel-rt | Affected | n/a |
No package ranges for this CVE.
Remediation
No remediation recorded yet.
References (10)
- https://access.redhat.com/security/cve/CVE-2022-50005 Vendor Advisory
- https://bugzilla.redhat.com/show_bug.cgi?id=2373478 Issue Tracking
- https://euvd.enisa.europa.eu/vulnerability/EUVD-2022-55284 Advisory
- https://git.kernel.org/stable/c/2c71f5d55a86fd5969428abf525c1ae6b1c7b0f5 Patch
- https://git.kernel.org/stable/c/50403ee6daddf0d7a14e9d3b51a377c39a08ec8c Patch
- https://git.kernel.org/stable/c/9c34c33893db7a80d0e4b55c23d3b65e29609cfb Patch
- https://git.kernel.org/stable/c/f1e941dbf80a9b8bab0bffbc4cbe41cc7f4c6fb6 Patch
- https://lore.kernel.org/linux-cve-announce/2025061829-CVE-2022-50005-fd4b@gregkh/T
- https://nvd.nist.gov/vuln/detail/CVE-2022-50005
- https://www.cve.org/CVERecord?id=CVE-2022-50005
Change history (0)
No recorded changes yet.