🇰🇷 한글 설명
Linux 커널의 batman-adv 모듈에서 RCU 보호를 받는 hlist 항목을 제거할 때 RCU grace period를 기다리지 않아 발생하는 Use-After-Free 취약점입니다. 이로 인해 항목이 제거된 후에도 RCU 리더가 이미 해제된 메모리에 접근하여 시스템 불안정이나 보안 문제를 일으킬 수 있습니다.
💡 쉬운 설명
컴퓨터 메모리에서 사용이 끝난 데이터를 지울 때, 다른 프로그램이 아직 그 데이터를 읽고 있는지 확인하지 않고 바로 지워버리는 문제입니다. 이로 인해 프로그램이 잘못된 메모리 주소를 참조하게 되어 시스템이 멈추거나 해킹에 이용될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
batman-adv: mcast: fix use-after-free in orig_node RCU release
batadv_mcast_purge_orig() removes entries from RCU-protected hlists but
does not wait for an RCU grace period before returning. Concurrent RCU
readers may still accesses references to those entries at the point of
removal. RCU-protected readers trying to operate on entries like
orig->mcast_want_all_ipv6_node will then access already freed memory.
Fix this by moving batadv_mcast_purge_orig() to batadv_orig_node_release(),
just before the call_rcu() invocation. This ensures RCU readers that were
active at purge time have drained before the orig_node memory is reclaimed.
📍 영향받는 시스템
Linux kernel (batman-adv 모듈을 사용하는 시스템)
⚔️ 공격 벡터
네트워크 트래픽 조작을 통해 특정 RCU 리더가 해제된 메모리에 접근하도록 유도하는 로컬 또는 원격 공격
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.