🔍 CVE-2026-89789

7.8
CVSS Score
HIGH
2026-09-16
2026-10-19 09:18
✅ 완료

🇰🇷 한글 설명

Linux 커널의 GTP(GPRS Tunneling Protocol) 모듈에서 gtp_newlink() 함수 오류 발생 시 RCU grace period를 기다리지 않고 메모리를 해제하여 발생하는 Use-After-Free 취약점입니다. 이로 인해 softirq에서 실행 중인 gtp_encap_recv()가 이미 해제된 메모리에 접근하여 시스템 충돌이나 보안 문제를 일으킬 수 있습니다.

💡 쉬운 설명

네트워크 연결을 설정하다가 오류가 발생했을 때, 사용 중인 메모리를 제대로 정리하지 않고 바로 버려버리는 문제입니다. 이 과정에서 다른 작업이 버려진 메모리를 사용하려고 시도하면 시스템이 멈추거나 해킹의 위험이 생길 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: gtp: add synchronize_net() in gtp_newlink() error path to prevent use-after-free gtp_newlink()'s error path frees tid_hash and addr_hash without waiting for an RCU grace period after clearing sk_user_data. A concurrent gtp_encap_recv() in softirq may still hold the gtp_dev pointer obtained via rcu_dereference_sk_user_data() and access the freed memory. BUG: KASAN: slab-use-after-free in gtp0_pdp_find+0x1f6/0x200 (gtp.c:152) Call Trace: <IRQ> gtp0_pdp_find+0x1f6/0x200 gtp_encap_recv+0x527/0x24b0 udp_queue_rcv_one_skb+0x75f/0xc10 Add synchronize_net() before the kfree calls in out_hashtable, which covers all error paths from both gtp_encap_enable() and gtp_create_sockets().

📍 영향받는 시스템

GTP 모듈을 사용하는 Linux 커널 버전

⚔️ 공격 벡터

네트워크 인터페이스 생성 중 오류를 유도하여 메모리 해제와 동시 접근 간의 레이스 컨디션 유발

🛡️ 대응 방법

gtp_newlink()의 오류 경로에 synchronize_net()을 추가하여 메모리 해제 전 RCU grace period를 보장하도록 커널 패치 적용

🔧 검증 코드

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

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel