Linux: Improper Locking
CVE-2026-31629 is a high-severity improper locking vulnerability in Linux, with a CVSS 3.1 base score of 8.8 out of 10. It can be exploited from the same local network by an unauthenticated attacker, without any action from a user. The record lists versions b2a23529593d011fb433a3d711fc597ed6a6bd2f, 665315df9c3486cb213fc44d83cc8bcd47fe0d26, 9b49e2a4b8219a2fc5cebf94f4ec34e509aff8a6 as the first without the flaw, so updating Linux to one of those releases or later removes the exposure. There is no confirmed exploitation so far. EPSS estimates a 0.25% chance of exploitation within 30 days, which is low compared with other CVEs.
High severity with no evidence of exploitation so far.
What to do
- Update Linux to b2a23529593d011fb433a3d711fc597ed6a6bd2f or 665315df9c3486cb213fc44d83cc8bcd47fe0d26 or 9b49e2a4b8219a2fc5cebf94f4ec34e509aff8a6 or 0eb1263a3b8c36418c9ba295c9ab3abed664edbf, whichever matches your release line, or a later version.
- Update Linux Kernel to 6.6.136 or 6.12.83 or 6.18.24 or 6.19.14, whichever matches your release line, or a later version.
Affected products and versions
| Vendor | Product | Affected versions | Fixed in |
|---|---|---|---|
| Linux | Linux | d646960f7986fefb460a2b062d5ccc8ccfeacc3a up to, but not including, b2a23529593d011fb433a3d711fc597ed6a6bd2f; d646960f7986fefb460a2b062d5ccc8ccfeacc3a up to, but not including, 665315df9c3486cb213fc44d83cc8bcd47fe0d26; d646960f7986fefb460a2b062d5ccc8ccfeacc3a up to, but not including, 9b49e2a4b8219a2fc5cebf94f4ec34e509aff8a6; d646960f7986fefb460a2b062d5ccc8ccfeacc3a up to, but not including, 0eb1263a3b8c36418c9ba295c9ab3abed664edbf; d646960f7986fefb460a2b062d5ccc8ccfeacc3a up to, but not including, 796e0cac058252d0ad34ebe288e6f7979b5fc9b2; d646960f7986fefb460a2b062d5ccc8ccfeacc3a up to, but not including, 8977fad2b3c6eefd414131168d597c5d1d5e1abf; d646960f7986fefb460a2b062d5ccc8ccfeacc3a up to, but not including, ff3d9e8f7244293e303f7b6ef70774291c7c27e9; d646960f7986fefb460a2b062d5ccc8ccfeacc3a up to, but not including, aba4712e8f0381cd5d196534ce2ad082626a5ab6; and 2 more ranges | b2a23529593d011fb433a3d711fc597ed6a6bd2f, 665315df9c3486cb213fc44d83cc8bcd47fe0d26, 9b49e2a4b8219a2fc5cebf94f4ec34e509aff8a6, 0eb1263a3b8c36418c9ba295c9ab3abed664edbf, 796e0cac058252d0ad34ebe288e6f7979b5fc9b2, 8977fad2b3c6eefd414131168d597c5d1d5e1abf |
| Siemens | SIMATIC S7-1500 TM MFP - GNU/Linux subsystem | all versions | Not stated |
| Linux | Linux Kernel | 3.3 up to, but not including, 6.6.136; 6.7 up to, but not including, 6.12.83; 6.13 up to, but not including, 6.18.24; 6.19 up to, but not including, 6.19.14; 7.0 up to, but not including, 7.0.1 | 6.6.136, 6.12.83, 6.18.24, 6.19.14, 7.0.1 |
Version data comes from the organisation that assigned the CVE. Confirm against the vendor advisory before deciding you are unaffected.
How the severity score breaks down
- Attack vector
- AdjacentThe attacker must be on the same local network segment.
- Attack complexity
- LowNo special conditions are needed; the attack works reliably.
- Privileges required
- NoneNo account or login is needed.
- User interaction
- NoneNo action by a victim is required.
- Scope
- UnchangedImpact stays within the vulnerable component.
- Confidentiality
- HighAll data handled by the component can be read.
- Integrity
- HighData or code can be modified at will.
- Availability
- HighThe component can be taken down completely.
Vector: CVSS:3.1/AV:A/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H. Scored by CNA.
Official 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.
Source: the CVE record as published by its numbering authority, via NVD and CVE.org.
The underlying weakness: Improper Locking
The product does not properly acquire or release a lock on a resource, leading to unexpected resource state changes and behaviors.
How developers prevent this class of flaw
- Use industry standard APIs to implement locking mechanism.
Timeline
- CVE record published.
- Record last changed materially (score, affected products, status or references).
References
Patches and release notes
- git.kernel.org/stable/c/0eb1263a3b8c36418c9ba295c9ab3abed664edbf
- git.kernel.org/stable/c/2b5dd4632966c39da6ba74dbc8689b309065e82c
- git.kernel.org/stable/c/796e0cac058252d0ad34ebe288e6f7979b5fc9b2
- git.kernel.org/stable/c/8977fad2b3c6eefd414131168d597c5d1d5e1abf
- git.kernel.org/stable/c/aba4712e8f0381cd5d196534ce2ad082626a5ab6
- git.kernel.org/stable/c/ff3d9e8f7244293e303f7b6ef70774291c7c27e9
Other references
Recent Improper Locking vulnerabilities
- 7.8 High severity
- 7.5 High severity
- 7.5 High severity
- 7.1 High severity
- 7.5 High severity
- 7.5 High severity
Spotted an error? Tell us.