CVE-2026-90225
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H
Summary
In the Linux kernel, the following vulnerability has been resolved:
nfc: llcp: read llcp_sock->local under the socket lock in getsockopt
nfc_llcp_getsockopt() read llcp_sock->local before lock_sock(sk) and then dereferenced the cached pointer inside the locked region. llcp_sock_bind() assigns and clears llcp_sock->local under the same socket lock, dropping the last reference on its error path. A getsockopt() racing an in-flight bind() can observe the pointer, block on lock_sock(), and then dereference a freed nfc_llcp_local once bind() has unwound.
Move the llcp_sock->local read and the NULL check inside the lock_sock(sk) region so bind() cannot mutate or free the pointer between the load and the use.
Affected Software
| Vendor | Product | Version Range | Status |
|---|---|---|---|
| Linux | Linux | 26fd76cab2e61cedc5c25f7151fb31b57ddc53c7 < 56fd158fef20268f48db6cdfe5d722e930134eda | affected |
| Linux | Linux | 26fd76cab2e61cedc5c25f7151fb31b57ddc53c7 < 8ba8cec0586727cc135ca4827921fc7b52946d71 | affected |
| Linux | Linux | 26fd76cab2e61cedc5c25f7151fb31b57ddc53c7 < ed5240bab3468988077fe8bf29b935eaecc9ff89 | affected |
| Linux | Linux | 26fd76cab2e61cedc5c25f7151fb31b57ddc53c7 < fe65727a4a21b11c18eebae1338482767a897b76 | affected |
| Linux | Linux | 26fd76cab2e61cedc5c25f7151fb31b57ddc53c7 < 2d8ac24565be85bf56580b87bf1b874d35625eb5 | affected |
| Linux | Linux | 26fd76cab2e61cedc5c25f7151fb31b57ddc53c7 < 156e65bd29307f5053835bff60bc1ba342fa010f | affected |
| Linux | Linux | 26fd76cab2e61cedc5c25f7151fb31b57ddc53c7 < d1b73962675cdc5a58e2707e25b548d8b495fde0 | affected |
| Linux | Linux | 26fd76cab2e61cedc5c25f7151fb31b57ddc53c7 < 36812527052c5bfb1ec6c1e292d67a5bf76b750f | affected |
| Linux | Linux | 3.10 | affected |
| Linux | Linux | 0 < 3.10 | unaffected |
| Linux | Linux | 5.10.270 <= 5.10.* | unaffected |
| Linux | Linux | 5.15.221 <= 5.15.* | unaffected |
| Linux | Linux | 6.1.188 <= 6.1.* | unaffected |
| Linux | Linux | 6.6.157 <= 6.6.* | unaffected |
| Linux | Linux | 6.12.110 <= 6.12.* | unaffected |
| Linux | Linux | 6.18.52 <= 6.18.* | unaffected |
| Linux | Linux | 7.2.6 <= 7.2.* | unaffected |
| Linux | Linux | 7.3-rc1 <= * | unaffected |
Weaknesses
References
- https://git.kernel.org/stable/c/56fd158fef20268f48db6cdfe5d722e930134eda
- https://git.kernel.org/stable/c/8ba8cec0586727cc135ca4827921fc7b52946d71
- https://git.kernel.org/stable/c/ed5240bab3468988077fe8bf29b935eaecc9ff89
- https://git.kernel.org/stable/c/fe65727a4a21b11c18eebae1338482767a897b76
- https://git.kernel.org/stable/c/2d8ac24565be85bf56580b87bf1b874d35625eb5
- https://git.kernel.org/stable/c/156e65bd29307f5053835bff60bc1ba342fa010f
- https://git.kernel.org/stable/c/d1b73962675cdc5a58e2707e25b548d8b495fde0
- https://git.kernel.org/stable/c/36812527052c5bfb1ec6c1e292d67a5bf76b750f
Feedback
Was this page helpful?
Glad to hear it! Please tell us how we can improve.
Sorry to hear that. Please tell us how we can improve.