Assigner | Linux |
Reserved | 2024-02-29 |
Published | 2024-02-29 |
Updated | 2024-06-04 |
Description
In the Linux kernel, the following vulnerability has been resolved: net/nfc: fix use-after-free llcp_sock_bind/connect Commits 8a4cd82d ("nfc: fix refcount leak in llcp_sock_connect()") and c33b1cc62 ("nfc: fix refcount leak in llcp_sock_bind()") fixed a refcount leak bug in bind/connect but introduced a use-after-free if the same local is assigned to 2 different sockets. This can be triggered by the following simple program: int sock1 = socket( AF_NFC, SOCK_STREAM, NFC_SOCKPROTO_LLCP ); int sock2 = socket( AF_NFC, SOCK_STREAM, NFC_SOCKPROTO_LLCP ); memset( &addr, 0, sizeof(struct sockaddr_nfc_llcp) ); addr.sa_family = AF_NFC; addr.nfc_protocol = NFC_PROTO_NFC_DEP; bind( sock1, (struct sockaddr*) &addr, sizeof(struct sockaddr_nfc_llcp) ) bind( sock2, (struct sockaddr*) &addr, sizeof(struct sockaddr_nfc_llcp) ) close(sock1); close(sock2); Fix this by assigning NULL to llcp_sock->local after calling nfc_llcp_local_put. This addresses CVE-2021-23134.
Product status
a1cdd18c49d2 before 26157c82ba75
18013007b596 before ccddad6dd285
538a6ff11516 before 18ae4a192a44
adbb1d218c5f before 48fba458fe54
c89903c9eff2 before e32352070bca
6fb003e5ae18 before 6b7021ed36da
8c9e4971e142 before 374cdde4dcc9
c33b1cc62ac0 before 18175fe17ae0
c33b1cc62ac0 before c61760e6940d
5.12
Any version before 5.12
4.4.269
4.9.269
4.14.233
4.19.191
5.4.119
5.10.37
5.11.21
5.12.4
5.13
References
https://git.kernel.org/stable/c/26157c82ba756767b2bd66d28a71b1bc454447f6
https://git.kernel.org/stable/c/ccddad6dd28530e716448e594c9ca7c76ccd0570
https://git.kernel.org/stable/c/18ae4a192a4496e48a5490b52812645d2413307c
https://git.kernel.org/stable/c/48fba458fe54cc2a980a05c13e6c19b8b2cfb610
https://git.kernel.org/stable/c/e32352070bcac22be6ed8ab635debc280bb65b8c
https://git.kernel.org/stable/c/6b7021ed36dabf29e56842e3408781cd3b82ef6e
https://git.kernel.org/stable/c/374cdde4dcc9c909a60713abdbbf96d5e3e09f91
https://git.kernel.org/stable/c/18175fe17ae043a0b81e5d511f8817825784c299
https://git.kernel.org/stable/c/c61760e6940dd4039a7f5e84a6afc9cdbf4d82b6