🇰🇷 한글 설명
리눅스 커널의 네트워크 스택에서 TCPv4 GSO 단편화 오프셋을 확인하는 과정 중 초기화되지 않은 값을 참조하는 취약점이 발견되었습니다. PF_PACKET 경로를 통해 주입된 패킷의 경우 IPv4 헤더 접근 시 안전하지 않은 오프셋을 참조할 수 있어 KMSAN 경고가 발생합니다. 이를 해결하기 위해 skb_header_pointer()를 사용하여 헤더 읽기 과정을 안전하게 개선하였습니다.
💡 쉬운 설명
네트워크 데이터를 처리할 때 컴퓨터가 아직 읽지 않은 잘못된 메모리 영역을 참조하여 오류가 발생할 수 있는 문제입니다. 이로 인해 시스템이 불안정해지거나 예상치 못한 동작을 할 수 있습니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
net: use skb_header_pointer() for TCPv4 GSO frag_off check
Syzbot reported a KMSAN uninit-value warning in gso_features_check()
called from netif_skb_features() [1].
gso_features_check() reads iph->frag_off to decide whether to clear
mangleid_features. Accessing the IPv4 header via ip_hdr()/inner_ip_hdr()
can rely on skb header offsets that are not always safe for direct
dereference on packets injected from PF_PACKET paths.
Use skb_header_pointer() for the TCPv4 frag_off check so the header read
is robust whether data is already linear or needs copying.
[1] https://syzkaller.appspot.com/bug?extid=1543a7d954d9c6d00407
📍 영향받는 시스템
Linux Kernel (PF_PACKET을 사용하는 환경)
⚔️ 공격 벡터
PF_PACKET 경로를 통해 조작된 네트워크 패킷을 주입하여 발생
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트
🔧 검증 코드
출력된 커널 버전이 해당 취약점이 수정된 패치 버전 이후인지 확인