{"id":"CVE-2022-50005","state":"PUBLISHED","title":"nfc: pn533: Fix use-after-free bugs caused by pn532_cmd_timeout","description":"In the Linux kernel, the following vulnerability has been resolved:\n\nnfc: pn533: Fix use-after-free bugs caused by pn532_cmd_timeout\n\nWhen the pn532 uart device is detaching, the pn532_uart_remove()\nis called. But there are no functions in pn532_uart_remove() that\ncould delete the cmd_timeout timer, which will cause use-after-free\nbugs. The process is shown below:\n\n    (thread 1)                  |        (thread 2)\n                                |  pn532_uart_send_frame\npn532_uart_remove               |    mod_timer(&pn532->cmd_timeout,...)\n  ...                           |    (wait a time)\n  kfree(pn532) //FREE           |    pn532_cmd_timeout\n                                |      pn532_uart_send_frame\n                                |        pn532->... //USE\n\nThis patch adds del_timer_sync() in pn532_uart_remove() in order to\nprevent the use-after-free bugs. What's more, the pn53x_unregister_nfc()\nis well synchronized, it sets nfc_dev->shutting_down to true and there\nare no syscalls could restart the cmd_timeout timer.","publishedAt":"2025-06-18T11:01:10.610Z","updatedAt":"2026-05-11T19:10:53.002Z","severity":null,"assigner":"Linux","products":["Linux Linux"],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"c656aa4c27b17a8c70da223ed5ab42145800d6b5","status":"affected","lessThan":"50403ee6daddf0d7a14e9d3b51a377c39a08ec8c","versionType":"git"},{"version":"c656aa4c27b17a8c70da223ed5ab42145800d6b5","status":"affected","lessThan":"9c34c33893db7a80d0e4b55c23d3b65e29609cfb","versionType":"git"},{"version":"c656aa4c27b17a8c70da223ed5ab42145800d6b5","status":"affected","lessThan":"2c71f5d55a86fd5969428abf525c1ae6b1c7b0f5","versionType":"git"},{"version":"c656aa4c27b17a8c70da223ed5ab42145800d6b5","status":"affected","lessThan":"f1e941dbf80a9b8bab0bffbc4cbe41cc7f4c6fb6","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/nfc/pn533/uart.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.5","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.5","versionType":"semver"},{"version":"5.10.140","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.64","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"5.19.6","status":"unaffected","lessThanOrEqual":"5.19.*","versionType":"semver"},{"version":"6.0","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/nfc/pn533/uart.c"]}],"references":["https://git.kernel.org/stable/c/50403ee6daddf0d7a14e9d3b51a377c39a08ec8c","https://git.kernel.org/stable/c/9c34c33893db7a80d0e4b55c23d3b65e29609cfb","https://git.kernel.org/stable/c/2c71f5d55a86fd5969428abf525c1ae6b1c7b0f5","https://git.kernel.org/stable/c/f1e941dbf80a9b8bab0bffbc4cbe41cc7f4c6fb6"],"weaknesses":[],"ingestedAt":"2026-10-29T20:05:26.763Z","source":{"repository":"CVEProject/cvelistV5","path":"cves/2022/50xxx/CVE-2022-50005.json","commit":"556c9d3a8cd17e218bb8e452ba7cd619a384ff47"},"raw":{"dataType":"CVE_RECORD","dataVersion":"5.2","cveMetadata":{"cveId":"CVE-2022-50005","state":"PUBLISHED","datePublished":"2025-06-18T11:01:10.610Z","dateUpdated":"2026-05-11T19:10:53.002Z","assignerShortName":"Linux","assignerOrgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateReserved":"2025-06-18T10:57:27.388Z"},"containers":{"cna":{"title":"nfc: pn533: Fix use-after-free bugs caused by pn532_cmd_timeout","descriptions":[{"lang":"en","value":"In the Linux kernel, the following vulnerability has been resolved:\n\nnfc: pn533: Fix use-after-free bugs caused by pn532_cmd_timeout\n\nWhen the pn532 uart device is detaching, the pn532_uart_remove()\nis called. But there are no functions in pn532_uart_remove() that\ncould delete the cmd_timeout timer, which will cause use-after-free\nbugs. The process is shown below:\n\n    (thread 1)                  |        (thread 2)\n                                |  pn532_uart_send_frame\npn532_uart_remove               |    mod_timer(&pn532->cmd_timeout,...)\n  ...                           |    (wait a time)\n  kfree(pn532) //FREE           |    pn532_cmd_timeout\n                                |      pn532_uart_send_frame\n                                |        pn532->... //USE\n\nThis patch adds del_timer_sync() in pn532_uart_remove() in order to\nprevent the use-after-free bugs. What's more, the pn53x_unregister_nfc()\nis well synchronized, it sets nfc_dev->shutting_down to true and there\nare no syscalls could restart the cmd_timeout timer."}],"affected":[{"vendor":"Linux","product":"Linux","defaultStatus":"unaffected","versions":[{"version":"c656aa4c27b17a8c70da223ed5ab42145800d6b5","status":"affected","lessThan":"50403ee6daddf0d7a14e9d3b51a377c39a08ec8c","versionType":"git"},{"version":"c656aa4c27b17a8c70da223ed5ab42145800d6b5","status":"affected","lessThan":"9c34c33893db7a80d0e4b55c23d3b65e29609cfb","versionType":"git"},{"version":"c656aa4c27b17a8c70da223ed5ab42145800d6b5","status":"affected","lessThan":"2c71f5d55a86fd5969428abf525c1ae6b1c7b0f5","versionType":"git"},{"version":"c656aa4c27b17a8c70da223ed5ab42145800d6b5","status":"affected","lessThan":"f1e941dbf80a9b8bab0bffbc4cbe41cc7f4c6fb6","versionType":"git"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/nfc/pn533/uart.c"]},{"vendor":"Linux","product":"Linux","defaultStatus":"affected","versions":[{"version":"5.5","status":"affected"},{"version":"0","status":"unaffected","lessThan":"5.5","versionType":"semver"},{"version":"5.10.140","status":"unaffected","lessThanOrEqual":"5.10.*","versionType":"semver"},{"version":"5.15.64","status":"unaffected","lessThanOrEqual":"5.15.*","versionType":"semver"},{"version":"5.19.6","status":"unaffected","lessThanOrEqual":"5.19.*","versionType":"semver"},{"version":"6.0","status":"unaffected","lessThanOrEqual":"*","versionType":"original_commit_for_fix"}],"repo":"https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git","programFiles":["drivers/nfc/pn533/uart.c"]}],"references":[{"url":"https://git.kernel.org/stable/c/50403ee6daddf0d7a14e9d3b51a377c39a08ec8c"},{"url":"https://git.kernel.org/stable/c/9c34c33893db7a80d0e4b55c23d3b65e29609cfb"},{"url":"https://git.kernel.org/stable/c/2c71f5d55a86fd5969428abf525c1ae6b1c7b0f5"},{"url":"https://git.kernel.org/stable/c/f1e941dbf80a9b8bab0bffbc4cbe41cc7f4c6fb6"}],"providerMetadata":{"shortName":"Linux","orgId":"416baaa9-dc9f-4396-8d5f-8c081fb06d67","dateUpdated":"2026-05-11T19:10:53.002Z"},"cpeApplicability":[{"nodes":[{"operator":"OR","negate":false,"cpeMatch":[{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.5","versionEndExcluding":"5.10.140"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.5","versionEndExcluding":"5.15.64"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.5","versionEndExcluding":"5.19.6"},{"vulnerable":true,"criteria":"cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:*","versionStartIncluding":"5.5","versionEndExcluding":"6.0"}]}]}],"x_generator":{"engine":"bippy-1.2.0"}}}}}