🇰🇷 한글 설명
리눅스 커널의 IPv6 멀티캐스트 처리 과정 중 igmp6_send() 함수에서 RCU 보호가 누락되어 Use-After-Free(UAF) 취약점이 발생할 수 있습니다. 이 취약점은 RTNL 또는 RCU 잠금이 확보되지 않은 상태에서 함수가 호출될 때 발생하며, 이를 해결하기 위해 RCU 보호 범위를 확장하고 메모리 할당 방식을 개선하였습니다.
💡 쉬운 설명
컴퓨터가 네트워크 메시지를 보낼 때 메모리를 사용하는 방식에 오류가 있어, 이미 사용이 끝난 메모리에 접근하려다 시스템이 충돌하거나 해킹될 위험이 있는 문제입니다. 보안 패치를 통해 메모리 사용 순서를 안전하게 교정하였습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ipv6: mcast: extend RCU protection in igmp6_send()
igmp6_send() can be called without RTNL or RCU being held.
Extend RCU protection so that we can safely fetch the net pointer
and avoid a potential UAF.
Note that we no longer can use sock_alloc_send_skb() because
ipv6.igmp_sk uses GFP_KERNEL allocations which can sleep.
Instead use alloc_skb() and charge the net->ipv6.igmp_sk
socket under RCU protection.
📍 영향받는 시스템
RCU 보호가 미흡한 특정 버전의 Linux Kernel (IPv6 멀티캐스트 기능 사용 시)
⚔️ 공격 벡터
특수하게 조작된 IPv6 멀티캐스트 패킷을 전송하여 커널 메모리 오류 유도
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이상인지 확인