🇰🇷 한글 설명
Linux 커널의 ipv6 구현 중 rt6_fill_node() 함수에서 무한 루프가 발생할 수 있는 취약점이 발견되었습니다. 특정 조건에서 라우팅 테이블 삭제 시 RCU 리더와 충돌하여 CPU가 멈추는 현상이 발생할 수 있습니다.
💡 쉬운 설명
네트워크 경로를 관리하는 과정에서 컴퓨터가 길을 찾지 못하고 같은 자리를 계속 맴도는 오류가 발생할 수 있습니다. 이로 인해 시스템이 멈추거나 응답하지 않는 상태가 될 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ipv6: fix possible infinite loop in rt6_fill_node()
Sashiko reported this issue [1]. Apply the same fix as
commit f8d8ce1b515a ("ipv6: fix possible infinite loop in fib6_info_uses_dev()").
Writers holding tb6_lock can list_del_rcu(&rt->fib6_siblings)
without waiting for RCU readers; rt->fib6_siblings.next then still
points into the old ring and this softirq-side walker never reaches
&rt->fib6_siblings, causing a CPU stall. fib6_del_route() always
WRITE_ONCE()s rt->fib6_nsiblings to 0 before list_del_rcu(), so an
inside-loop check is a reliable detach signal.
[1] https://sashiko.dev/#/patchset/20260526020227.4857-1-jiayuan.chen%40linux.dev
📍 영향받는 시스템
IPv6를 사용하는 Linux 커널 버전 (패치 적용 전 버전)
⚔️ 공격 벡터
네트워크 라우팅 테이블을 빈번하게 수정하여 특정 타이밍에 무한 루프를 유도하는 방식
🛡️ 대응 방법
커널 패치(commit f8d8ce1b515a 관련 수정 사항)가 적용된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인