Description (CNA)
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 (CNA)
| Vendor / product | Versions |
|---|---|
| Linux / Linux | affected 26fd76cab2e61cedc5c25f7151fb31b57ddc53c7 before 56fd158fef20268f48db6cdfe5d722e930134eda; affected 26fd76cab2e61cedc5c25f7151fb31b57ddc53c7 before 8ba8cec0586727cc135ca4827921fc7b52946d71; affected 26fd76cab2e61cedc5c25f7151fb31b57ddc53c7 before ed5240bab3468988077fe8bf29b935eaecc9ff89; affected 26fd76cab2e61cedc5c25f7151fb31b57ddc53c7 before fe65727a4a21b11c18eebae1338482767a897b76; affected 26fd76cab2e61cedc5c25f7151fb31b57ddc53c7 before 2d8ac24565be85bf56580b87bf1b874d35625eb5; affected 26fd76cab2e61cedc5c25f7151fb31b57ddc53c7 before 156e65bd29307f5053835bff60bc1ba342fa010f; affected 26fd76cab2e61cedc5c25f7151fb31b57ddc53c7 before d1b73962675cdc5a58e2707e25b548d8b495fde0; affected 26fd76cab2e61cedc5c25f7151fb31b57ddc53c7 before 36812527052c5bfb1ec6c1e292d67a5bf76b750f |
| Linux / Linux | affected 3.10; unaffected 0 before 3.10; unaffected 5.10.270 through 5.10.*; unaffected 5.15.221 through 5.15.*; unaffected 6.1.188 through 6.1.*; unaffected 6.6.157 through 6.6.*; unaffected 6.12.110 through 6.12.*; unaffected 6.18.52 through 6.18.*; unaffected 7.2.6 through 7.2.*; unaffected 7.3 through * |
CWE
No CWE identifiers supplied.
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