What’s Vulnerable › Vulnerabilities
CVE-2022-50005: nfc: pn533: Fix use-after-free bugs caused by pn532_cmd_timeout
- Severity: high (CVSS 7.8 v3.1)
- Exploited in the wild: not listed in CISA KEV
- EPSS: 0.3% probability of exploitation in the next 30 days
- Public exploit or detection template: none known
- Published: 2025-06-18 · updated 2026-06-17
- Weakness: CWE-416
Description
In the Linux kernel, the following vulnerability has been resolved: nfc: pn533: Fix use-after-free bugs caused by pn532_cmd_timeout 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
- Linux kernel: from 5.5 before 5.10.140; from 5.11 before 5.15.64; from 5.16 before 5.19.6; 6.0-rc1, 6.0-rc2 — fixed in 5.10.140, 5.15.64, 5.19.6
How to fix
Upgrade to a fixed version: Linux kernel 5.10.140, 5.15.64, 5.19.6. Check the vendor advisory for mitigations.
References
- https://git.kernel.org/stable/c/2c71f5d55a86fd5969428abf525c1ae6b1c7b0f5
- https://git.kernel.org/stable/c/50403ee6daddf0d7a14e9d3b51a377c39a08ec8c
- https://git.kernel.org/stable/c/9c34c33893db7a80d0e4b55c23d3b65e29609cfb
- https://git.kernel.org/stable/c/f1e941dbf80a9b8bab0bffbc4cbe41cc7f4c6fb6
Get alerted when CVE-2022-50005 or the next vulnerability affects your stack