🇰🇷 한글 설명
Linux 커널의 XDP(Express Data Path) 구성 요소에서 클론된 프레임이 skb_shared_info의 테일룸(tailroom) 영역을 침범할 수 있는 취약점이 발견되었습니다. 이로 인해 XDP 프레임이 skb로 변환될 때 데이터가 덮어씌워져 XDP 반환 메타데이터가 손상될 수 있습니다.
💡 쉬운 설명
네트워크 데이터를 처리하는 과정에서 데이터의 경계 검사가 제대로 이루어지지 않아 메모리의 중요한 정보가 망가질 수 있는 문제입니다. 공격자가 이를 악용하면 시스템의 중요한 데이터를 조작하거나 오류를 일으킬 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
xdp: reject clones that overrun skb_shared_info tailroom
xdpf_clone() clones broadcast copies into a single page and sets
frame_sz to PAGE_SIZE. __xdp_build_skb_from_frame() later treats that
page like a normal XDP frame and expects the usual skb_shared_info
tailroom at the end of the buffer.
The current check only rejects frames whose linear xdp_frame header,
headroom, and packet data exceed PAGE_SIZE. A source frame backed by a
larger allocation can still satisfy that check while extending into the
clone's required shared-info area. When such a clone is converted back
into an skb, build_skb_around() places skb_shared_info over live packet
bytes and later writes can corrupt XDP return metadata.
Reject clones unless their linear area fits inside
SKB_WITH_OVERHEAD(PAGE_SIZE), matching the tailroom requirement already
enforced by the XDP-to-skb conversion path.
📍 영향받는 시스템
Linux Kernel (XDP 관련 기능이 활성화된 모든 버전)
⚔️ 공격 벡터
특수하게 조작된 XDP 프레임을 전송하여 메모리 오버런을 유도하는 방식
🛡️ 대응 방법
XDP 클론 생성 시 선형 영역이 PAGE_SIZE 내에 포함되도록 제한하는 최신 Linux 커널 패치 적용
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 해결된 보안 패치 버전인지 배포판 보안 공지를 통해 확인하십시오.