🇰🇷 한글 설명
Linux 커널의 IPv6 멀티캐스트 구현 중 ip6_mc_del1_src() 함수에서 RCU 리스트 분기 오류가 발견되었습니다. 소스 필터 제거 시 RCU grace period가 완료되기 전에 리스트를 수정하여, 동시 실행 중인 읽기 작업이 활성 소스를 건너뛰거나 삭제된 항목을 참조하는 문제가 발생할 수 있습니다.
💡 쉬운 설명
인터넷 주소 체계 중 하나인 IPv6를 사용할 때, 데이터 목록을 정리하는 과정에서 순서가 꼬이는 버그가 있었습니다. 이로 인해 시스템이 아직 사용 중인 데이터를 찾지 못하거나 이미 삭제된 데이터를 잘못 읽을 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ipv6: mcast: fix RCU list diversion in ip6_mc_del1_src()
When removing a source filter whose count reaches zero, ip6_mc_del1_src()
unlinks psf from pmc->mca_sources. If the filter was previously active,
the code moved psf directly into pmc->mca_tomb by updating psf->sf_next.
Because pmc->mca_sources is traversed locklessly under RCU (e.g. by
ipv6_chk_mcast_addr()), mutating psf->sf_next before a grace period
elapses diverts concurrent readers to the tombstone list. Consequently,
readers miss remaining active sources in pmc->mca_sources and improperly
examine deleted tombstone entries.
Fix this by allocating a new tombstone node for pmc->mca_tomb (as done
in sf_setstate()) and retiring the original psf via kfree_rcu().
📍 영향받는 시스템
Linux Kernel (IPv6 mcast 관련 모듈 사용 시스템)
⚔️ 공격 벡터
로컬 또는 네트워크를 통한 특정 IPv6 멀티캐스트 소스 필터 조작
🛡️ 대응 방법
Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인하십시오.