🇰🇷 한글 설명
리눅스 커널의 skbuff 처리 과정에서 pull 작업 중 tail 조정이 제대로 반영되지 않는 취약점입니다. BPF_FUNC_skb_pull_data와 같은 헬퍼 함수를 사용하여 headlen 너머의 데이터를 읽을 때 예상치 못한 부작용이 발생하여 커널 버그를 유발할 수 있습니다.
💡 쉬운 설명
데이터를 처리하는 과정에서 메모리의 끝부분을 계산하는 방식에 오류가 있어 시스템이 갑자기 멈추거나 오류가 발생할 수 있는 문제입니다. 특정 네트워크 기능을 사용할 때 커널이 예상치 못한 동작을 하게 만듭니다.
🇺🇸 원문 (English)
In the Linux kernel, the following vulnerability has been resolved:
skbuff: Account for tail adjustment during pull operations
Extending the tail can have some unexpected side effects if a program uses
a helper like BPF_FUNC_skb_pull_data to read partial content beyond the
head skb headlen when all the skbs in the gso frag_list are linear with no
head_frag -
kernel BUG at net/core/skbuff.c:4219!
pc : skb_segment+0xcf4/0xd2c
lr : skb_segment+0x63c/0xd2c
Call trace:
skb_segment+0xcf4/0xd2c
__udp_gso_segment+0xa4/0x544
udp4_ufo_fragment+0x184/0x1c0
inet_gso_segment+0x16c/0x3a4
skb_mac_gso_segment+0xd4/0x1b0
__skb_gso_segment+0xcc/0x12c
udp_rcv_segment+0x54/0x16c
udp_queue_rcv_skb+0x78/0x144
udp_unicast_rcv_skb+0x8c/0xa4
__udp4_lib_rcv+0x490/0x68c
udp_rcv+0x20/0x30
ip_protocol_deliver_rcu+0x1b0/0x33c
ip_local_deliver+0xd8/0x1f0
ip_rcv+0x98/0x1a4
deliver_ptype_list_skb+0x98/0x1ec
__netif_receive_skb_core+0x978/0xc60
Fix this by marking these skbs as GSO_DODGY so segmentation can handle
the tail updates accordingly.
📍 영향받는 시스템
Linux Kernel (skbuff 관련 기능이 포함된 버전)
⚔️ 공격 벡터
BPF 헬퍼 함수를 사용하여 조작된 네트워크 패킷 데이터를 처리하도록 유도하는 방식
🛡️ 대응 방법
리눅스 커널을 최신 보안 패치가 적용된 버전으로 업데이트하십시오.
🔧 검증 코드
출력된 커널 버전을 확인하여 해당 취약점이 해결된 패치 버전인지 확인하십시오.