CVE-2026-80905 in Linux정보

요약

\~에 의해 VulDB • 2026. 09. 04.

리눅스 커널에서 다음 취약점이 해결되었습니다:

net: tap: VLAN 태그가 있는 프레임 전송 시 잘못된 transport_header 수정

tap_get_user_xdp() 함수 내에서 VLAN 태그가 있는 프레임(예: ETH_P_8021Q)을 처리할 때, skb_set_network_header()이 먼저 호출되어 network_header를 VLAN 태그 건너뛰기 안쪽 프로토콜 헤더로 이동시킵니다. 그 후, nhoff(skb_network_offset()에서 파생됨)는 이미 VLAN 태그를 넘어선 안쪽 프로토콜 헤더를 가리키고 있는 반면, skb->protocol은 여전히 ETH_P_8021Q로 설정된 상태에서 skb_probe_transport_header()가 호출됩니다.

__skb_flow_dissect() 내에서 proto는 ETH_P_8021Q로 초기화되고 nhoff는 VLAN 태그를 넘어선 지점을 가리킵니다. 디섹터(분해기)가 case ETH_P_8021Q에 도달하면, __skb_header_pointer()를 통해 현재 nhoff 위치에서 struct vlan_hdr을 읽습니다. 그러나 해당 오프셋에는 안쪽 프로토콜 헤더(IP 헤더 등)가 포함되어 있습니다. 바이트들이 VLAN 헤더로 잘못 해석되어 알려진 어떤 프로토콜과도 일치하지 않는 무의미한(encapsulated EtherType이 생성됩니다. 디섹터는 false를 반환하므로, skb_probe_transport_header()는 결코 skb_set_transport_header()를 호출하지 않으며, transport_header는 초기화되지 않은 센티널 값(~0U)으로 남습니다.

skb_probe_transport_header()가 호출될 때 network_header가 여전히 VLAN 헤더(오프셋 ETH_HLEN)를 가리키도록 skb_set_network_header()의 위치를 변경합니다. 이렇게 하면 nhoff가 정확해지고 흐름 디섹터(flow dissector)가 VLAN 헤더를 파싱하여 안쪽 EtherType을 추출한 후, nhoff를 안쪽 프로토콜 헤더로 이동시켜 transport_header가 올바르게 설정되도록 합니다.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

책임이 있는

Linux

예약하다

2026. 08. 26.

모더레이션

수락

항목

VDB-399121

EPSS

0.00155

출처

Interested in the pricing of exploits?

See the underground prices here!