🇰🇷 한글 설명
리눅스 커널의 IP 터널 장치에서 하위 출력 장치로부터 파생된 헤드룸(headroom) 값이 16비트 skb 헤더 오프셋 범위를 초과할 수 있는 취약점입니다. 이로 인해 skb 헤더 확장 시 오프셋이 래핑(wrap)되어 메모리 관련 문제가 발생할 수 있습니다. 이를 해결하기 위해 광고되는 헤드룸 값을 512바이트로 제한하는 패치가 적용되었습니다.
💡 쉬운 설명
네트워크 통로를 여러 겹으로 만들 때, 필요한 여유 공간 계산값이 너무 커져서 컴퓨터가 계산 오류를 일으킬 수 있는 문제입니다. 이 오류를 이용하면 시스템에 예기치 않은 동작을 유발할 수 있지만, 패치를 통해 공간 크기를 제한하여 방지할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: cap advertised IP tunnel headroom
IP tunnel devices derive their advertised needed_headroom from lower
output devices. A stack of user-created devices can make the derived
value larger than the 16-bit skb header offsets can represent. Once IP
output reserves it, skb head expansion can wrap those offsets.
The runtime transmit path already caps a growing needed_headroom at 512.
Apply the same cap when tunnel configuration publishes needed_headroom
derived from a lower output device.
Capping the advertised value is safe: IP tunnel transmit still expands
the skb when a packet needs more headroom. A nonsensical stacked
configuration can therefore incur an extra reallocation, but it cannot
publish an unbounded reservation to upper layers.
📍 영향받는 시스템
Linux Kernel (IP tunnel configuration 관련 버전)
⚔️ 공격 벡터
사용자가 생성한 다중 계층 IP 터널 장치 구성을 통해 비정상적으로 큰 헤드룸 값을 유도
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 헤드룸 제한(cap) 적용
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인