🔍 CVE-2026-64577

7.5
CVSS Score
HIGH
2026-08-05
2026-08-19 17:20
✅ 완료

🇰🇷 한글 설명

Linux 커널의 GTP 프로토콜 구현 중 gtp1u_send_echo_resp() 함수가 skb_pull_data()의 반환 값을 확인하지 않아 발생하는 취약점입니다. 특정 크기의 에코 요청 패킷이 들어올 경우 skb->data 포인터가 잘못 계산되어 커널 패닉(skb_under_panic)을 유발하고 시스템이 중단될 수 있습니다.

💡 쉬운 설명

특수하게 조작된 네트워크 패킷을 보내면 리눅스 컴퓨터의 운영체제가 갑자기 멈추거나 꺼질 수 있는 오류입니다. 데이터의 길이를 제대로 확인하지 못해 발생하는 시스템 충돌 문제입니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: gtp: check skb_pull_data() return in gtp1u_send_echo_resp() gtp1u_send_echo_resp() ignores skb_pull_data()'s return value. Its caller gtp1u_udp_encap_recv() only guarantees 16 bytes (udphdr + gtp1_header), but the pull requests 20 (gtp1_header_long + udphdr). For a 16-19 byte echo request the pull fails and returns NULL without advancing skb->data; execution continues, and the following skb_push() plus the IP header pushed by iptunnel_xmit() move skb->data below skb->head, tripping skb_under_panic(). Fix it by dropping the packet when skb_pull_data() fails. skbuff: skb_under_panic: ... kernel BUG at net/core/skbuff.c:214! Call Trace: skb_push (net/core/skbuff.c:2648) iptunnel_xmit (net/ipv4/ip_tunnel_core.c:82) gtp_encap_recv (drivers/net/gtp.c:701 drivers/net/gtp.c:808 drivers/net/gtp.c:920) udp_queue_rcv_one_skb (net/ipv4/udp.c:2388) ... Kernel panic - not syncing: Fatal exception in interrupt

📍 영향받는 시스템

Linux kernel (GTP 프로토콜을 사용하는 시스템)

⚔️ 공격 벡터

조작된 크기(16-19바이트)의 GTP 에코 요청 패킷을 전송하여 커널 패닉 유도

🛡️ 대응 방법

skb_pull_data() 실패 시 패킷을 즉시 드롭하도록 커널을 최신 버전으로 업데이트

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 패치된 최신 보안 업데이트 버전인지 확인

Shell / Script
uname -r

📊 CVSS Vector String

CVSS Vector
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:H

💻 영향받는 소프트웨어

Linux Kernel