[공격] 분석 — CVE-2025-21926
A kernel-level vulnerability in
__udp_gso_segmentcan cause a system crash (DoS) when using OpenVSwitch, requiring monitoring of kernel panic logs and patching.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00206 · 악용난이도 hard
🔍 공격 기법
(1) 트리거 조건: Linux 커널의 UDP GSO(__udp_gso_segment) 처리 과정에서 skb destructor는 제거되지만 socket reference가 그대로 유지되는 결함이 존재함. 이후 해당 skb가 orphan 상태가 되어 skb_orphan 함수를 호출할 때 kernel BUG가 발생하며 시스템이 패닉에 빠짐.
(2) 공격 단계:
- 정찰: 대상 서버의 커널 버전 및 OpenVSwitch(OVS) 사용 여부 확인.
- 초기 접근: 로컬 권한(
PR:L) 또는 네트워크 패킷 주입을 통한 트리거 유도. - 실행: 특정 순서의 OVS 액션 체인을 구성하여 전송.
OVS_ACTION_ATTR_USERSPACE처리 $\rightarrow$__udp_gso_segment진입 $\rightarrow$ destructor 제거 및 socket reference 유지.- 이후 동일한 original
skb가OVS_ACTION_ATTR_OUTPUT을 통해 경로를 이동. - 최종적으로
skb_orphan단계에서 커널 패닉 유발.
- 영향: 시스템 전체 가용성 상실(DoS).
(3) 공격 표면:
- 프로토콜/함수: UDP GSO (
__udp_gso_segment), OpenVSwitch 액션 처리 루틴 (do_execute_actions). - 엔드포인트: OVS가 설치된 가상화 환경의 네트워크 인터페이스.
(4) CVSS 벡터 분석: AV:L/AC:L/PR:L/UI:N에 따라 로컬 권한을 가진 사용자가 낮은 복잡도로 트리거 가능함. 다만, 외부망에서 직접 유발하려면 OVS 설정 및 패킷 흐름을 제어할 수 있는 전제조건이 필요하여 실전 악용 난이도는 hard로 평가됨.
악용 가능성: 본 취약점은 공격 난이도가 매우 높은 hard 등급으로, 네트워크 패킷 처리 과정의 정교한 Race Condition 및 메모리 상태 제어를 요구합니다. CVSS 벡터 AV:L/PR:L에서 알 수 있듯, 원격에서 즉시 실행 가능한 형태가 아니라 이미 시스템에 접근 권한을 가진 로컬 사용자가 특정 커널 환경(OpenVSwitch 등)을 조작할 수 있는 전제조건이 필요합니다. 공격 표면은 Linux Kernel의 __udp_gso_segment 함수와 UDP GSO(Generic Segmentation Offload) 처리 경로이며, 특히 OVS(OpenVSwitch)의 유저스페이스 액션과 출력 액션이 특정 순서로 맞물려 발생하는 skb 소유권 불일치 지점이 트리거 포인트입니다. EPSS 수치가 0.00206으로 매우 낮고 KEV에 등재되지 않은 점은, 이론적인 커널 패닉(DoS) 가능성과 달리 실제 공격자가 이를 제어 가능한 권한 상승(LPE)이나 원격 코드 실행(RCE)으로 무기화한 사례가 극히 드물다는 것을 의미합니다. 결과적으로 이 취약점은 단순한 네트워크 패킷 전송만으로는 불가능하며, 커널 내부의 skb_orphan 상태를 정밀하게 유도해야 하므로 실전 악용 가능성은 낮으나 특정 가상화 환경에서는 치명적인 시스템 중단으로 이어질 수 있습니다.
💥 영향 분석
(1) 기술적 위험: Kernel Panic으로 인한 즉각적인 시스템 중단(DoS). 메모리 오염이나 권한 상승보다는 가용성 파괴에 집중된 취약점임.
(2) 비즈니스 영향: OVS를 사용하는 클라우드/가상화 인프라의 경우, 하이퍼바이저나 네트워크 노드 한 대의 다운이 다수의 VM 서비스 중단으로 이어지는 연쇄적 가용성 장애 유발 가능.
🔗 관련 취약점·체이닝
- 체이닝 경로: 추정: 로컬 권한 획득(LPE) $\rightarrow$ 본 취약점을 이용한 커널 패닉 유발 $\rightarrow$ 시스템 재부팅 과정에서의 부트로더/커널 초기화 취약점 공략 또는 가용성 파괴를 통한 보안 솔루션 무력화.
- 패턴:
Reference Counting오류 및Object Lifecycle Management결함 유형임. 추정: 유사한skb핸들링 결함과 체이닝될 경우, 단순 DoS를 넘어 Use-After-Free(UAF) 기반의 권한 상승으로 이어질 가능성이 있으나 본 CVE 단독으로는 DoS가 주된 영향임.
🔎 탐지
(1) 로그 지표: 커널 링 버퍼(dmesg) 또는 /var/log/syslog에서 kernel BUG at ./include/linux/skbuff.h 및 ip_rcv_core 호출 스택 확인.
(2) 탐지 규칙:
- 로직:
grep -E "kernel BUG.*skb_orphan|ip_rcv_core" /var/log/kern.log - SIEM 쿼리 예시:
index=linux_logs message="*kernel BUG*" AND message="*skbuff.h*" AND message="*ip_rcv_core*"
(3) 오탐 시나리오: 일반적인 네트워크 드라이버 오류로 인한 패닉과 구분이 필요함. Call Trace에__udp_gso_segment또는 OVS 관련 함수가 포함되어 있는지 확인하여 튜닝.
🛡️ 완화 방안
- 즉시(긴급 차단): OpenVSwitch 설정에서 유저스페이스 전달(
OVS_ACTION_ATTR_USERSPACE)과 출력(OVS_ACTION_ATTR_OUTPUT)이 동시에 발생하는 복잡한 액션 체인 사용을 제한. (난이도: 중 / 영향: 네트워크 기능 일부 제한) - 단기(완화): 커널 패닉 발생 시 자동 재부팅(
kernel.panicsysctl 설정)을 활성화하여 서비스 다운타임 최소화 및 모니터링 강화. (난이도: 하 / 영향: 가용성 일시 저하) - 근본(해결): Linux 커널 업데이트. 영향 제품 버전별 수정 버전(예: 6.12.19+, 6.6.83+ 등)으로 업그레이드하여
__udp_gso_segment내 socket reference 제거 로직 적용. (난이도: 중 / 영향: 재부팅 필요, 안정성 향상)
[파이프라인 근거] 본 분석은 다중 소스에서 일관성이 확인된 데이터를 기반으로 하며, 실측 EPSS(0.00206) 수치가 매우 낮고 KEV 미등재 및 AV:L 조건을 반영하여 우선순위를 monitor로 결정함. 이는 이론적 심각도(CVSS 5.5)보다 실제 공격 가능성이 현저히 낮음을 의미함.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00206 · exploit=hard · in_scope=None