🇰🇷 한글 설명
Linux 커널의 VXLAN 구현에서 네트워크 헤더를 검증할 때 오프셋 계산 오류가 발생합니다. pskb_may_pull() 대신 pskb_network_may_pull()를 사용하여 MAC 헤더 오프셋을 올바르게 고려하지 않을 경우, 네트워크 헤더의 일부가 비선형 프래그먼트에 남을 수 있는 취약점입니다.
💡 쉬운 설명
데이터를 전송할 때 네트워크 주소 정보가 포함된 부분을 확인하는 과정에서 계산 실수가 있었습니다. 이로 인해 데이터의 일부가 제대로 읽히지 않거나 잘못된 위치를 참조할 위험이 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
vxlan: use pskb_network_may_pull() for transmit path header pulls
In vxlan_xmit(), arp_reduce(), and vxlan_mdb_entry_skb_get(), pskb_may_pull() was
being called to verify the availability of network layer headers (ARP, IPv6/ND,
IP/IPv6 MDB keys).
However, during transmit skb->data points to the MAC header, so skb_network_offset(skb)
is ETH_HLEN (14 bytes). Using pskb_may_pull(skb, len) only checks len bytes from skb->data
rather than skb_network_offset(skb) + len, which can leave part of the network header
in non-linear frags.
Replace these remaining pskb_may_pull() calls with pskb_network_may_pull() to properly
account for the MAC header offset.
📍 영향받는 시스템
VXLAN 기능을 사용하는 Linux 커널 버전
⚔️ 공격 벡터
조작된 VXLAN 패킷을 전송하여 커널의 네트워크 헤더 처리 로직을 교란
🛡️ 대응 방법
VXLAN 관련 패치가 적용된 최신 Linux 커널로 업데이트
🔧 검증 코드
출력된 커널 버전이 취약점이 해결된 최신 패치 버전인지 확인
📊 CVSS Vector String
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:H
💻 영향받는 소프트웨어
NVIDIA Cloud Gaming Guest Driver for Linux