CVE-2022-49863 in Linux
요약
\~에 의해 VulDB • 2026. 06. 04.
리눅스 커널에서 다음 취약점이 해결되었습니다:
can: af_can: can_rx_register()에서의 NULL 포인터 역참조 수정
다음과 같이 테스트할 때 NULL 포인터 역참조가 발생합니다: (a) syscall(__NR_socket, 0x10ul, 3ul, 0)을 사용하여 netlink 소켓을 생성합니다. (b) syscall(__NR_sendmsg, ...)를 사용하여 bond 링크 장치와 vxcan 링크 장치를 생성하고, vxcan 장치를 bond 장치에 바인딩합니다(vxcan 장치를 bond 장치에 바인딩하기 위해 ifenslave 명령어도 사용 가능). (c) syscall(__NR_socket, 0x1dul, 3ul, 1)을 사용하여 CAN 소켓을 생성합니다. (d) syscall(__NR_bind, ...)를 사용하여 bond 장치를 CAN 소켓에 바인딩합니다.
bond 장치는 CAN 패킷을 수신하기 위해 can-raw 프로토콜 등록 인터페이스를 호출합니다. 그러나 ml_priv가 dev에 할당되지 않았으며, can_rx_register()에서 dev_rcv_lists가 NULL로 할당됩니다. 이 경우 NULL 포인터 역참조 문제가 발생합니다.
다음은 스택 정보입니다: BUG: kernel NULL pointer dereference, address: 0000000000000008 PGD 122a4067 P4D 122a4067 PUD 1223c067 PMD 0 Oops: 0000 [#1] PREEMPT SMP
RIP: 0010:can_rx_register+0x12d/0x1e0 Call Trace:
raw_enable_filters+0x8d/0x120 raw_enable_allfilters+0x3b/0x130 raw_bind+0x118/0x4f0 __sys_bind+0x163/0x1a0 __x64_sys_bind+0x1e/0x30 do_syscall_64+0x35/0x80 entry_SYSCALL_64_after_hwframe+0x63/0xcd
If you want to get best quality of vulnerability data, you may have to visit VulDB.