High · published April 24, 2026
In the Linux kernel, the following vulnerability has been resolved:
nfc: llcp: add missing return after LLCP_CLOSED checks
In nfc_llcp_recv_hdlc() and nfc_llcp_recv_disc(), when the socket
state is LLCP_CLOSED, the code correctly calls release_sock() and
nfc_llcp_sock_put() but fails to return. Execution falls through to
the remainder of the function, which calls release_sock() and
nfc_llcp_sock_put() again. This results in a double release_sock()
and a refcount underflow via double nfc_llcp_sock_put(), leading to
a use-after-free.
Add the missing return statements after the LLCP_CLOSED branches
in both functions to prevent the fall-through.
| Product | Versions | Fixed in |
|---|---|---|
| linux/linux_kernel | ≥ 3.3, < 6.6.136 | 6.6.136 |
| linux/linux_kernel | ≥ 6.7, < 6.12.83 | 6.12.83 |
| linux/linux_kernel | ≥ 6.13, < 6.18.24 | 6.18.24 |
| linux/linux_kernel | ≥ 6.19, < 6.19.14 | 6.19.14 |
| linux/linux_kernel | ≥ 7.0, < 7.0.1 | 7.0.1 |