CVE-2021-47238 in Linux정보

요약

\~에 의해 VulDB • 2026. 06. 16.

리눅스 커널에서 다음 취약점이 해결되었습니다:

net: ipv4: ip_mc_add1_src의 메모리 누수 수정

버그: 메모리 누수 미사용 객체 0xffff888101bc4c00 (크기 32): comm "syz-executor527", pid 360, jiffies 4294807421 (경과 시간 19.329초) 16진수 덤프 (최대 32바이트): 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ................ 01 00 00 00 00 00 00 00 ac 14 14 bb 00 00 02 00 ................ 백트레이스: [] kmalloc include/linux/slab.h:558 [인라인]
[] kzalloc include/linux/slab.h:688 [인라인]
[] ip_mc_add1_src net/ipv4/igmp.c:1971 [인라인]
[] ip_mc_add_src+0x95f/0xdb0 net/ipv4/igmp.c:2095
[] ip_mc_source+0x84c/0xea0 net/ipv4/igmp.c:2416
[] do_ip_setsockopt net/ipv4/ip_sockglue.c:1294 [인라인]
[] ip_setsockopt+0x114b/0x30c0 net/ipv4/ip_sockglue.c:1423
[] raw_setsockopt+0x13d/0x170 net/ipv4/raw.c:857
[] __sys_setsockopt+0x158/0x270 net/socket.c:2117
[] __do_sys_setsockopt net/socket.c:2128 [인라인]
[] __se_sys_setsockopt net/socket.c:2125 [인라인]
[] __x64_sys_setsockopt+0xba/0x150 net/socket.c:2125
[] do_syscall_64+0x40/0x80 arch/x86/entry/common.c:47
[] entry_SYSCALL_64_after_hwframe+0x44/0xae

커밋 24803f38a5c0("igmp: 링크 다운 설정 시 igmp 소스 목록 정보 제거하지 않음")에서, ip_mc_destroy_dev() 내의 ip_mc_clear_src() 호출이 제거되었습니다. 이는 해당 함수가 igmpv3_clear_delrec()에서도 호출되었기 때문입니다.

대략적인 호출 그래프:

inetdev_destroy -> ip_mc_destroy_dev -> igmpv3_clear_delrec -> ip_mc_clear_src -> RCU_INIT_POINTER(dev->ip_ptr, NULL)

그러나 igmpv3_clear_delrec()에서 호출되는 ip_mc_clear_src()는 in_dev->mc_list->sources를 해제하지 않습니다. 또한 RCU_INIT_POINTER()는 dev->ip_ptr에 NULL을 할당합니다. 그 결과, inetdev_by_index()를 통해 in_dev를 가져올 수 없게 되며, sock_close 시 ip_mc_del1_src()에 의해 in_dev->mc_list->sources가 해제되지 않습니다. 대략적인 호출 순서는 다음과 같습니다:

sock_close -> __sock_release -> inet_release -> ip_mc_drop_socket -> inetdev_by_index -> ip_mc_leave_src -> ip_mc_del_src -> ip_mc_del1_src

따라서 in_dev->mc_list->sources를 해제하기 위해 ip_mc_destroy_dev()에서 여전히 ip_mc_clear_src()를 호출해야 합니다.

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

출처

Do you know our Splunk app?

Download it now for free!