🔍 CVE-2026-80906

0.0
CVSS Score
UNKNOWN
2026-09-04
2026-09-04 18:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 net: packet 모듈에서 VLAN 태그가 포함된 프레임을 전송할 때 transport_header가 잘못 설정되는 취약점이 발견되었습니다. VLAN 태그를 처리하는 과정에서 네트워크 헤더 오프셋을 먼저 이동시킨 후 프로토콜을 분석하여, 실제로는 내부 프로토콜 헤더가 위치한 곳을 VLAN 헤더로 오인하는 문제가 발생합니다. 이로 인해 transport_header가 초기화되지 않은 상태로 남게 됩니다.

💡 쉬운 설명

네트워크 데이터에 VLAN이라는 이름표가 붙어 있을 때, 컴퓨터가 이름표의 위치를 착각하여 데이터의 실제 내용을 제대로 읽지 못하는 문제입니다. 이로 인해 데이터의 전송 계층 정보가 엉뚱하게 설정될 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: net: packet: fix wrong transport_header when sending VLAN-tagged frame In packet_parse_headers(), when processing a VLAN-tagged frame, skb_set_network_header() is called to advance network_header past the VLAN tag to the inner protocol header. skb_probe_transport_header() is then called with skb->protocol still set to the outer VLAN EtherType (e.g. ETH_P_8021Q), while nhoff (derived from skb_network_offset()) already points past the VLAN tag to the inner protocol header. In __skb_flow_dissect(), proto is initialized to ETH_P_8021Q and nhoff points past the VLAN tag. When the dissector hits case ETH_P_8021Q, it reads a struct vlan_hdr at nhoff via __skb_header_pointer(), but that offset contains the inner protocol header (e.g. an IP header). The bytes are misinterpreted as a VLAN header, yielding a garbage encapsulated EtherType that matches no known protocol. The dissector returns false, so skb_probe_transport_header() never calls skb_set_transport_header(), leaving transport_header at its uninitialized sentinel value (~0U). Move skb_probe_transport_header() to before skb_set_network_header(). At the time skb_probe_transport_header() is called, network_header still points to the VLAN header, so nhoff correctly points to the VLAN header. The flow dissector can then parse the VLAN header, extract the inner EtherType, and advance nhoff to the inner protocol header, allowing transport_header to be set correctly.

📍 영향받는 시스템

VLAN 태그를 사용하는 Linux 커널 시스템

⚔️ 공격 벡터

특수하게 조작된 VLAN 태그가 포함된 네트워크 패킷 전송을 통한 데이터 처리 오류 유발

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 skb_probe_transport_header() 호출 순서를 수정해야 합니다.

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인합니다.

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel