🇰🇷 한글 설명
리눅스 커널의 IPv6 XFRM 모듈에서 xfrm6_rcv_encap() 함수가 에러 경로를 처리할 때 dst 엔트리의 참조를 해제하지 않아 메모리 누수가 발생합니다. 이는 잘못된 라우팅 결과로 인해 skb가 드롭될 때마다 dst 엔트리가 계속 쌓이게 만듭니다.
💡 쉬운 설명
네트워크 패킷 처리 중 오류가 발생할 때 시스템이 사용하는 내부 자원을 제대로 정리하지 않는 결함입니다. 이 버그를 악용하면 시스템 메모리가 고갈되어 서비스 거부가 발생할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
ipv6: xfrm6: release dst on error in xfrm6_rcv_encap()
xfrm6_rcv_encap() performs an IPv6 route lookup when the skb does not
already have a dst attached. ip6_route_input_lookup() returns a
referenced dst entry even when the lookup resolves to an error route.
If dst->error is set, xfrm6_rcv_encap() drops the skb without attaching
the dst to the skb and without releasing the reference returned by the
lookup. Repeated packets hitting this path therefore leak dst entries.
Release the dst before jumping to the drop path.
📍 영향받는 시스템
Linux kernel (IPv6 XFRM 모듈이 활성화된 모든 버전)
⚔️ 공격 벡터
공격자가 의도적으로 잘못된 IPv6 라우팅 조건을 유발하는 패킷을 대량으로 전송하여 dst 엔트리 누수를 유도합니다.
🛡️ 대응 방법
벤더가 제공하는 최신 커널 패치 또는 업데이트를 즉시 적용하여 xfrm6_rcv_encap()의 참조 해제 로직을 수정합니다.
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 안정 버전인지 벤더 문서에서 확인합니다.