🔍 CVE-2026-72493

9.9
CVSS Score
CRITICAL
2026-08-15
2026-10-21 13:19
✅ 완료

🇰🇷 한글 설명

리눅스 커널의 네트워크 스택에서 장치 등록 해제 중 발생하는 레이스 컨디션으로 인해 Use-After-Free(UAF) 취약점이 발생합니다. 패킷이 백로그 플러싱 과정을 우회하여 이미 해제된 메모리 영역에 접근함으로써 시스템 불안정성이나 권한 상승을 초래할 수 있습니다.

💡 쉬운 설명

네트워크 장치가 꺼지는 순간에 데이터 패킷이 처리되려고 시도하면서, 이미 사라진 메모리 공간을 건드려 컴퓨터가 멈추거나 해킹될 수 있는 문제입니다. 장치가 꺼지는 절차와 데이터 전송 절차가 서로 엉키면서 발생합니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: net: serialize netif_running() check in enqueue_to_backlog() Syzbot reported a KASAN slab-use-after-free in fib_rules_lookup(). The root cause is a race condition where packets can escape the backlog flushing during device unregistration (e.g., during netns exit). Commit e9e4dd3267d0 ("net: do not process device backlog during unregistration") introduced a lockless netif_running() check in enqueue_to_backlog() to prevent queuing packets to an unregistering device. However, this creates a TOCTOU race window. A lockless transmitter (like veth_xmit) can pass the check before dev_close() clears IFF_UP. If the transmitter is then delayed, flush_all_backlogs() can run and finish before the transmitter grabs the backlog lock and queues the packet. The packet then escapes the flush and triggers UAF later when processed. Fix this by moving the netif_running() check inside the backlog lock. This serializes the check with the flush work (which also grabs the lock). We then either queue the packet before the flush runs (so it gets flushed), or check netif_running() after the flush/close completes (so it gets dropped).

📍 영향받는 시스템

Linux Kernel (veth_xmit 등 lockless transmitter를 사용하는 환경)

⚔️ 공격 벡터

네트워크 네임스페이스 종료 또는 장치 등록 해제 시점에 정교하게 설계된 패킷 전송을 통한 레이스 컨디션 유도

🛡️ 대응 방법

커널 패치(commit e9e4dd3267d0 관련 수정 사항)를 적용하여 netif_running() 체크를 백로그 락 내부로 이동시켜 직렬화 수행

🔧 검증 코드

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

Shell / Script
uname -r

📊 CVSS Vector String

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

💻 영향받는 소프트웨어

Linux Kernel