[공격] 분석 — CVE-2025-21864
A race condition in the Linux kernel's TCP receive path leads to a Use-After-Free (UAF) or memory corruption during network namespace deletion, requiring updates to affected kernel versions.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00205 · 악용난이도 hard
🔍 공격 기법
(1) 트리거 조건: ipcomp6를 사용하는 환경에서 다수의 Network Namespace(netns)를 생성하고 삭제하는 과정이 반복될 때 발생함. 특히 TCP 수신 경로에서 skb(socket buffer)가 CPU의 defer_list에 머물러 있어, netns 삭제 시점까지 xfrm_state에 대한 참조(reference)가 유지되는 상태여야 함.
(2) 공격 단계:
- 정찰: 타겟 시스템의 커널 버전 및
ipcomp6/xfrm모듈 활성화 여부 확인. - 초기 접근: 로컬 사용자 권한 획득 (AV:L, PR:L). 네트워크 네임스페이스를 생성/조작할 수 있는 권한이 필요함.
- 실행 및 영향:
netns쌍을 생성하고 TCP 트래픽 유발.skb가sk_receive_queue에 쌓이고skb_attempt_defer_free를 통해 지연 삭제 리스트(defer_list)로 이동하도록 유도.- 해당 CPU의
defer_list가 flush되기 전, 빠르게netns를 삭제. xfrm6_tunnel_net_exit과정에서 이미 해제되었어야 할xfrm_state에 대한 잔존 참조로 인해 커널 패닉(WARN/Panic) 유발.
(3) 공격 표면: Linux Kernel Network Stack (tcp, xfrm6, ipcomp6). 외부 네트워크 엔드포인트가 아닌, 내부 커널 함수(xfrm6_tunnel_net_exit)와 네임스페이스 관리 인터페이스가 주요 타겟임.
(4) CVSS 벡터 분석:
- AV:L / PR:L: 로컬 권한을 가진 사용자가 네트워크 설정 변경 권한(CAP_NET_ADMIN 등 추정)을 가졌을 때 실행 가능함.
- AC:L: 조건이 충족되면 트리거가 단순함.
- UI:N: 사용자 상호작용 불필요.
악용 가능성: 본 취약점은 AV:L/PR:L 벡터가 나타내듯, 공격자가 이미 시스템에 낮은 권한의 계정으로 접근하여 로컬 환경에서 실행 권한을 가진 상태여야 하므로 진입 장벽이 높습니다. 특히 netns(Network Namespace) 생성 및 삭제, 그리고 ipcomp6 프로토콜 기반의 TCP 트래픽 유발이라는 매우 구체적인 트리거 조건이 충족되어야 하며, 이는 일반적인 외부 공격보다는 특정 환경을 구성한 내부 사용자의 행위에 가깝습니다. EPSS 수치가 0.00205로 매우 낮고 KEV에 등재되지 않은 점은 이 취약점이 야생(In-the-wild)에서 무기화되어 광범위하게 악용될 가능성이 희박함을 시사합니다. 공격 표면은 Linux 커널의 네트워크 스택, 구체적으로는 xfrm6_tunnel_net_exit 함수와 skb(socket buffer)의 defer_list 처리 로직에 국한됩니다. 결과적으로 secpath 참조 카운트 관리 미흡으로 인한 커널 경고(WARN)나 불안정성을 유발할 수 있으나, 정교하게 설계된 레이스 컨디션이나 메모리 오염 체이닝 없이는 즉각적인 권한 상승으로 이어지기 어려운 'Hard' 등급의 취약점입니다.
💥 영향 분석
(1) 기술적 위험: xfrm_state 참조 카운트 불일치로 인한 커널 메모리 오염 및 시스템 크래시(Kernel Panic). 이는 가용성 저하(A:H)로 직결됨. 추정: 메모리 레이아웃에 따라 제한적인 권한 상승(LPE) 가능성이 있으나, 리포트상으로는 서비스 중단 위험이 지배적임.
(2) 비즈니스 영향: 커널 패닉으로 인한 서버 다운타임 발생. 특히 컨테이너 환경(netns 빈번한 생성/삭제)에서 인프라 전체의 가용성 저하 및 서비스 불능 상태 초래.
🔗 관련 취약점·체이닝
- 체이닝 경로: [로컬 권한 획득] $\rightarrow$ [Network Namespace 조작] $\rightarrow$ [Race Condition 유도] $\rightarrow$ [Kernel Panic/DoS].
- 유형 수준 체이닝: 추정: 이 결함은
Use-After-Free (UAF)패턴의 변종으로, 참조 카운트 관리 미흡(Reference Counting Issue) 유형에 해당함. 만약 공격자가defer_list내의 메모리를 정밀하게 제어할 수 있다면, 단순 DoS를 넘어 커널 함수 포인터를 덮어쓰는 권한 상승 체인으로 이어질 가능성이 있음.
🔎 탐지
(1) 로그 지표: 커널 로그(dmesg, /var/log/syslog) 내 xfrm6_tunnel_net_exit 함수에서 발생하는 WARN 또는 Kernel Panic 스택 트레이스 확인.
(2) 탐지 규칙 예시:
- SIEM/Log:
message == "*xfrm6_tunnel_net_exit*" AND message == "*WARN*" - Runtime: 커널 심볼 중
skb_attempt_defer_free와netns삭제 함수 간의 비정상적인 호출 빈도 모니터링.
(3) 오탐 시나리오: 정상적인 네트워크 설정 변경 작업 중 발생하는 일시적 지연일 수 있음. 단, 반복적인WARN발생 후 시스템 재부팅이 일어난다면 공격 시도로 판단 가능.
🛡️ 완화 방안
- 즉시 (긴급 차단):
ipcomp6및 관련 XFRM 터널링 기능 사용 제한. 불필요한 Network Namespace 생성/삭제 권한(CAP_NET_ADMIN)을 일반 사용자에게서 제거. (난이도: 하 / 영향: 일부 네트워크 기능 제약) - 단기 (완화): 시스템 모니터링 강화 및 커널 패닉 발생 시 즉시 덤프 분석을 통해
xfrm6관련 이슈인지 확인하는 프로세스 수립. (난이도: 중 / 영향: 없음) - 근본 (해결): 영향받는 버전(5.19 ~ 6.13.5 등)에서 수정된 최신 커널로 업데이트. TCP 수신 경로에서
dst와 함께secpath를 적시에 드롭하도록 수정된 패치 적용. (난이도: 중 / 영향: 재부팅 필요, 가용성 일시 저하)
[분석 근거]
- 본 리포트는 다중 소스 교차검증을 통해 데이터 일관성이 확인되었습니다.
- EPSS 0.00205 (백분위 0.1078): 실측 악용 예측값이 매우 낮으며, 이는 이론적 심각도(CVSS 5.5)와 별개로 실제 야생(Wild)에서의 공격 가능성이 현재로서는 희박함을 뜻합니다.
- 우선순위 [monitor]: CVSS 점수가 중간 수준이고 KEV에 등재되지 않았으며, EPSS 수치가 낮고 exploit 난이도가
hard로 평가되어 즉각적인 대응보다는 모니터링 및 계획적 패치 단계로 결정되었습니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00205 · exploit=hard · in_scope=None