🇰🇷 한글 설명
Linux 커널의 net/iucv 구성 요소에서 소켓 참조 카운트를 적절히 관리하지 않아 발생하는 취약점입니다. 소켓을 찾는 과정에서 잠금을 해제한 후 핸들러로 전달할 때 참조를 유지하지 않아, 핸들러 실행 전 소켓이 해제되어 메모리 오류가 발생할 수 있습니다.
💡 쉬운 설명
컴퓨터가 데이터를 주고받는 통로(소켓)를 사용하려고 할 때, 사용 중인 통로가 갑자기 사라져서 시스템이 혼란에 빠지는 문제입니다. 이로 인해 시스템이 멈추거나 잘못된 동작을 할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net/iucv: take a reference on the socket found in afiucv_hs_rcv()
afiucv_hs_rcv() looks up the destination socket under iucv_sk_list.lock,
drops the lock, and then passes the socket to the afiucv_hs_callback_*()
handlers without holding a reference. AF_IUCV sockets are not
RCU-protected and are freed synchronously by iucv_sock_kill() ->
sock_put(), so a concurrent close can free the socket in the window
between read_unlock() and the handler, which then dereferences freed
memory (for example sk->sk_data_ready() in afiucv_hs_callback_syn()).
Take a reference with sock_hold() while the socket is still on the list
and release it with sock_put() once the handler has run.
📍 영향받는 시스템
Linux Kernel (net/iucv 모듈을 사용하는 시스템)
⚔️ 공격 벡터
동시성 제어 미흡을 이용한 Race Condition (경쟁 상태) 공격
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 해결된 패치 버전인지 확인하십시오.