CVE-2021-47068

Severity CVSS v4.0:
Pending analysis
Type:
CWE-416 Use After Free
Publication date:
29/02/2024
Last modified:
22/04/2025

Description

In the Linux kernel, the following vulnerability has been resolved:<br /> <br /> net/nfc: fix use-after-free llcp_sock_bind/connect<br /> <br /> Commits 8a4cd82d ("nfc: fix refcount leak in llcp_sock_connect()")<br /> and c33b1cc62 ("nfc: fix refcount leak in llcp_sock_bind()")<br /> fixed a refcount leak bug in bind/connect but introduced a<br /> use-after-free if the same local is assigned to 2 different sockets.<br /> <br /> This can be triggered by the following simple program:<br /> int sock1 = socket( AF_NFC, SOCK_STREAM, NFC_SOCKPROTO_LLCP );<br /> int sock2 = socket( AF_NFC, SOCK_STREAM, NFC_SOCKPROTO_LLCP );<br /> memset( &amp;addr, 0, sizeof(struct sockaddr_nfc_llcp) );<br /> addr.sa_family = AF_NFC;<br /> addr.nfc_protocol = NFC_PROTO_NFC_DEP;<br /> bind( sock1, (struct sockaddr*) &amp;addr, sizeof(struct sockaddr_nfc_llcp) )<br /> bind( sock2, (struct sockaddr*) &amp;addr, sizeof(struct sockaddr_nfc_llcp) )<br /> close(sock1);<br /> close(sock2);<br /> <br /> Fix this by assigning NULL to llcp_sock-&gt;local after calling<br /> nfc_llcp_local_put.<br /> <br /> This addresses CVE-2021-23134.

Vulnerable products and versions

CPE From Up to
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.4.267 (including) 4.4.269 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.9.267 (including) 4.9.269 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.14.231 (including) 4.14.233 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 4.19.187 (including) 4.19.191 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.4.112 (including) 5.4.119 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.10.30 (including) 5.10.37 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.11.14 (including) 5.11.21 (excluding)
cpe:2.3:o:linux:linux_kernel:*:*:*:*:*:*:*:* 5.12 (including) 5.12.4 (excluding)