[공격] 분석 — CVE-2026-23086
A malicious guest can trigger a Host DoS via memory exhaustion by manipulating vsock TX credits, requiring immediate kernel patching for high-density virtualization environments.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00142 · 악용난이도 hard
🔍 공격 기법
이 취약점은 vsock/virtio 전송 계층에서 송신(TX) 크레딧 계산 시 로컬 버퍼 크기 제한을 무시하고 원격 엔드포인트가 제공한 값(peer_buf_alloc)을 그대로 신뢰하는 설계 결함에서 기인한다.
- 공격 표면:
AF_VSOCK소켓 통신 인터페이스 및virtio전송 계층. 특히 게스트 OS와 호스트 OS 간의 통신 채널이 타겟이다. - 트리거 조건: 공격자는
SO_VM_SOCKETS_BUFFER_SIZE옵션을 통해 매우 큰 버퍼 사이즈를 광고(Advertise)하고, 실제 데이터 읽기 속도를 의도적으로 늦춰 호스트가 데이터를 계속 큐잉하게 만들어야 한다. - 공격 체인 및 전제 조건:
- 초기 접근 (AV:L / PR:L): 공격자는 이미 게스트 VM 내에서 로컬 권한을 보유하고 있어야 하며, 호스트와 vsock 통신이 가능한 상태여야 한다.
- 정찰 및 설정: 게스트 내부에서
SO_VM_SOCKETS_BUFFER_SIZE를 최대치로 설정하여 호스트에 전송한다. - 실행 (Resource Exhaustion): 대량의 데이터를 호스트로 송신하되, 수신측(게스트)에서 읽기 동작을 중단하거나 지연시킨다.
- 영향: 호스트 커널은
peer_buf_alloc에 기반해 TX 윈도우를 확장하며, 결과적으로 호스트 메모리에 대량의sk_buff객체를 할당하게 된다.
- 관측 지표: 호스트 시스템에서 특정 vsock 연결과 관련된 커널 메모리(Slab/kmalloc) 사용량이 급증하고, OOM(Out-Of-Memory) 킬러가 작동하는 현상이 나타난다.
악용 가능성: 본 취약점은 AV:L/PR:L 벡터가 보여주듯, 공격자가 이미 시스템에 진입하여 낮은 권한을 가진 상태에서 커널의 자원 관리 허점을 이용하는 Local Privilege Escalation(LPE) 또는 DoS 경로를 가집니다. 공격 표면은 vsock/virtio 프로토콜의 TX credit 제어 메커니즘이며, 구체적으로는 원격 엔드포인트가 설정하는 SO_VM_SOCKETS_BUFFER_SIZE 파라미터를 통해 호스트(또는 게스트)의 메모리 할당량을 조작하는 지점이 트리거 조건입니다. 악성 게스트가 비정상적으로 큰 버퍼 사이즈를 광고하고 데이터를 의도적으로 천천히 읽음으로써, 호스트 커널이 과도한 sk_buff 메모리를 할당하게 만드는 Resource Exhaustion 공격이 가능합니다. 다만 EPSS 값이 0.00142로 매우 낮고 KEV에 등재되지 않은 점은, 이 취약점이 단독으로 즉각적인 RCE나 권한 탈취로 이어지기보다 시스템 가용성을 저해하는 DoS 성격이 강함을 시사합니다. 따라서 공격 난이도는 hard로 판정되며, 이는 단순 패킷 전송을 넘어 커널 메모리 압박(Memory Pressure) 상태를 정밀하게 유도해야 하는 환경적 제약이 따르기 때문입니다. 결론적으로 실전에서는 단독 악용보다는 다른 커널 취약점과 체이닝하여 시스템 불안정성을 유발하고, 그 과정에서 발생하는 Race Condition이나 Memory Corruption 기회를 엿보는 보조 수단으로 활용될 가능성이 높습니다.
💥 영향 분석
- 호스트 가용성 상실 (DoS): 호스트의 물리적 RAM이 고갈되어 시스템 전체가 크래시되거나, 다른 정상적인 VM들이 강제 종료되는 서비스 거부 상태에 빠진다.
- 자원 고갈:
AV:L및PR:L조건으로 인해 외부 네트워크 공격은 불가능하나, 이미 침투한 게스트에서 호스트를 무력화하는 'VM Escape'의 전 단계 혹은 가용성 파괴 공격으로 활용된다.
🔗 관련 취약점·체이닝
- 리소스 고갈 $\rightarrow$ 커널 패닉/불안정성: 단독으로는 DoS에 그치지만, 메모리 압박 상태에서 발생하는 다른 Race Condition이나 Use-After-Free(UAF) 취약점을 트리거하기 위한 환경 조성(Heap Spraying 유사 효과)으로 활용될 수 있다.
- 추정 체이닝 경로:
Resource Exhaustion$\rightarrow$Slab Allocator Pressure$\rightarrow$Memory Corruption(타 취약점 결합 시). - 유형 수준 분석: 원격 제어 파라미터에 의한 로컬 자원 할당량 결정(CWE-770 계열) 패턴이다. 신뢰할 수 없는 엔드포인트가 할당량을 결정하게 두는 설계적 허점을 이용한다.
🔎 탐지
- 메모리 모니터링:
slabtop또는/proc/meminfo에서skbuff_head_cache등 소켓 버퍼 관련 슬랩 메모리의 비정상적 증가 감시. - 시스템 로그: 커널 로그(
dmesg) 내 OOM Killer의 작동 기록 및 vsock 관련 에러 메시지 확인.
🛡️ 완화 방안
- 근본 해결:
virtio_transport_tx_buf_size()헬퍼 함수가 도입된 최신 커널 버전으로 업데이트하여, TX 크레딧이min(peer_buf_alloc, buf_alloc)으로 제한되도록 패치 적용. - 즉시 조치: 영향 받는 환경에서
SO_VM_SOCKETS_BUFFER_MAX_SIZE설정을 통해 허용 가능한 최대 버퍼 크기를 보수적으로 제한.
[분석 근거]
- 교차검증: 다중 소스 데이터 간 일관성이 확인되어 분석 신뢰도 1.0으로 처리함.
- 실측 악용예측: EPSS 0.00142(백분위 0.03977)로 실제 야생에서의 악용 가능성은 매우 낮음(Hard). 이는 로컬 권한 필요 및 특정 가상화 환경이라는 제약 조건이 반영된 결과임.
- 우선순위 결정:
monitor단계로 설정. CVSS 5.5의 중간 심각도이며 KEV 미등재, 낮은 EPSS 수치 및 공격 난이도를 고려하여 즉시 대응보다는 패치 주기 내 업데이트 권고 수준으로 판단함.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00142 · exploit=hard · in_scope=None