CVE-2023-53490 in Linux
요약
\~에 의해 VulDB • 2026. 05. 24.
리눅스 커널에서 다음 취약점이 해결되었습니다:
mptcp: disconnect와 accept 간의 Race Condition 수정
커밋 0ad529d9fd2b("mptcp: recvmsg()에서 가능한 0으로 나누기 오류 수정")에도 불구하고, mptcp 프로토콜은 여전히 disconnect() (또는 shutdown)와 accept 간에 Race Condition에 취약합니다.
근본 원인은 언급된 커밋이 msk 레벨 플래그를 확인하지만, mptcp_stream_accept()는 첫 번째 서브플로우 잠금을 직접 사용할 수 있으므로 msk 레벨 잠금을 획득하지 않는다는 점입니다.
Christoph가 보고한 바와 같이, 이는 mptcp_subflow_queue_clean()이 리스너 소켓 잠금을 해제한 후 msk 소켓이 accept되고, 파괴적인 작업을 수행하기 직전에 발생하는 Race Condition으로 이어질 수 있으며, 그 결과 다음과 같은 스플래트(splat)가 발생합니다:
BUG: kernel NULL pointer dereference, address: 0000000000000012 PGD 5a4ca067 P4D 5a4ca067 PUD 37d4c067 PMD 0 Oops: 0000 [#1] PREEMPT SMP
CPU: 2 PID: 10955 Comm: syz-executor.5 Not tainted 6.5.0-rc1-gdc7b25798999 #1 Hardware name: QEMU Standard PC (i440FX + PIIX, 1996), BIOS 1.15.0-1 04/01/2014 RIP: 0010:tcp_recvmsg+0x100/0x110 net/ipv4/tcp.c:2830 Call Trace: <TASK> mptcp_subflow_recvmsg+0x10/0x20 net/mptcp/protocol.c:1895 mptcp_recvmsg+0x10/0x20 net/mptcp/protocol.c:1903 inet_recvmsg+0x10/0x20 net/ipv4/af_inet.c:943 sock_recvmsg+0x10/0x20 net/socket.c:1199 __sys_recvmsg+0x10/0x20 net/socket.c:2000
If you want to get best quality of vulnerability data, you may have to visit VulDB.