🇰🇷 한글 설명
Linux 커널의 IP-in-IP GSO 처리 과정에서 재귀적인 IP 헤더 중첩을 제한하지 않아 커널 스택이 고갈될 수 있는 취약점입니다. 이를 해결하기 위해 IP_TUNNEL_RECURSION_LIMIT를 사용하여 중첩 깊이를 제한하도록 수정되었습니다.
💡 쉬운 설명
네트워크 패킷 안에 다른 패킷을 너무 많이 겹쳐서 보내면 컴퓨터의 핵심 메모리 공간이 꽉 차서 시스템이 멈출 수 있는 문제입니다. 이제는 너무 많이 겹쳐진 패킷은 시스템이 미리 차단하도록 개선되었습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: gso: limit recursive IP-in-IP segmentation
IP-in-IP GSO can re-enter inet_gso_segment() or ipv6_gso_segment()
for each nested IP header. encap_level tracks header bytes, not callback
depth, so a deep chain can exhaust the kernel stack. Making
inet_gso_segment() stackable introduced unbounded IPv4 nesting; IPIP
GSO/TSO later made the path reachable. The IPv6 stackable path was
introduced separately and uses the same guard.
Count IPv4 and IPv6 GSO handler entries in skb_gso_cb, initialized once
per top-level GSO operation and preserved across GRE/UDP context changes.
Use the existing IP_TUNNEL_RECURSION_LIMIT for both handlers. The first
five entries pass, and the sixth returns -EINVAL before dispatching
another GSO callback.
📍 영향받는 시스템
IP-in-IP GSO/TSO 기능이 활성화된 Linux 커널 버전
⚔️ 공격 벡터
중첩된 IP 헤더를 포함한 특수하게 조작된 네트워크 패킷 전송을 통한 커널 스택 고갈 유도
🛡️ 대응 방법
IP_TUNNEL_RECURSION_LIMIT가 적용된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인