CVE-2022-50005 Details
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.
A use-after-free vulnerability has been identified in the Linux kernel's NFC PN533 driver. This issue arises when the PN532 UART device is detached, as the 'pn532_uart_remove()' function does not properly delete the 'cmd_timeout' timer. This oversight can lead to a use-after-free scenario, where memory is freed while still being accessed. The vulnerability is triggered when the 'pn532_uart_send_frame' function is called concurrently with the removal process, allowing for the use of freed memory.
The vulnerability has been addressed by adding a call to 'del_timer_sync()' in the 'pn532_uart_remove()' function, ensuring that the timeout timer is properly stopped before the associated memory is freed.
Metrics
CVSS 4.0 Severity and Vector Strings:
No CVSS 4.0 data is available for this CVE.
CVSS 3.x Severity and Vector Strings:
No data available for CVSS Version 2.0 on this CVE.
No SSVC data is available for this CVE.
References to Advisories, Solutions, and Tools
By selecting these links, you will be leaving this site. These are references gathered from the official CVE record and are not endorsed by Volerion.
| URL | Source(s) | Tag(s) |
|---|---|---|
| https://git.kernel.org/stable/c/2c71f5d55a86fd5969428abf525c1ae6b1c7b0f5 | kernel.org | Patch |
| https://git.kernel.org/stable/c/50403ee6daddf0d7a14e9d3b51a377c39a08ec8c | kernel.org | Patch |
| https://git.kernel.org/stable/c/9c34c33893db7a80d0e4b55c23d3b65e29609cfb | kernel.org | Patch |
| https://git.kernel.org/stable/c/f1e941dbf80a9b8bab0bffbc4cbe41cc7f4c6fb6 | kernel.org | Patch |
Weakness Enumeration
| CWE-ID | CWE Name | Source |
|---|---|---|
| CWE-416 | Use After Free | [email protected] |
Affected Products
| Product | Versions |
|---|---|
| linux linux kernel | >= 5.5, < 5.10.140 >= 5.11, < 5.15.64 >= 5.16, < 5.19.6 6.0 rc1 6.0 rc2 |
CPE
Remediation
| |
Change History
3 change records found show changes
| Date | Action | Recorded By |
|---|---|---|
| Jun 17, 2026 | CVE Modified | kernel.org |
| Nov 14, 2025 | Initial Analysis | [email protected] |
| Jun 18, 2025 | New CVE Received | kernel.org |