[공격] 분석 — CVE-2025-22083
A Use-After-Free vulnerability in the Linux kernel's vhost-scsi component allows local users to cause system crashes or potential privilege escalation by repeatedly calling
vhost_scsi_set_endpointwithout clearing it.
📋 요약
- 심각도 high · CVSS 7.8 · EPSS 0.00196 · 악용난이도 hard
🔍 공격 기법
(1) 트리거 조건
vhost_scsi_clear_endpoint호출 없이vhost_scsi_set_endpoint를 다중 호출할 때 발생.- 특히 첫 번째 호출에서는 TPGs를 찾아
match=true가 되어vs_tpg가 설정되었으나, 이후 호출에서 TPGs를 찾지 못해match=false가 되면 기존 포인터를 유지한 채kfree(vs->vs_tpg)만 수행하여 Use-After-Free(UAF) 상태가 됨.
(2) 공격 단계
- 정찰: 타겟 시스템의 커널 버전 확인 및
vhost-scsi모듈 로드 여부 확인. - 초기 접근: Local User 권한 확보 (AV:L, PR:L). vhost-scsi 인터페이스에 접근 가능한 권한 필요.
- 실행/권한 획득:
vhost_scsi_set_endpoint를 호출하여 유효한 TPG 할당.- 다시
vhost_scsi_set_endpoint를 호출하되, TPG를 찾지 못하도록 조작 $\rightarrow$vs->vs_tpg메모리 해제(Free). - SCSI Request 전송 $\rightarrow$
vhost_scsi_handle_vq$\rightarrow$vhost_vq_get_backend경로를 통해 해제된 메모리 참조(Use).
- 영향: 커널 패닉을 통한 DoS 유발 또는 Heap Spraying을 통한 임의 코드 실행 및 권한 상승 시도.
(3) 공격 표면
- 엔드포인트/함수: Linux Kernel
vhost-scsi드라이버 내vhost_scsi_set_endpoint함수. - 프로토콜: vhost-scsi backend 인터페이스.
(4) CVSS 벡터 연결 (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H)
- AV:L / PR:L: 로컬 권한을 가진 사용자가 커널 인터페이스에 접근해야 하므로 원격 공격은 불가능하며, 최소한의 사용자 권한이 필요함.
- AC:L: 특정 함수 호출 순서만 맞추면 되므로 공격 복잡도는 낮음.
악용 가능성: 본 취약점은 AV:L/PR:L 벡터에서 알 수 있듯, 공격자가 이미 시스템에 로그인하여 로컬 권한을 보유하고 가상화 환경의 커널 인터페이스에 접근할 수 있는 상태여야 하므로 공격 난이도는 Hard로 판정됩니다. 공격 표면은 Linux 커널의 vhost-scsi 모듈 내 vhost_scsi_set_endpoint 함수이며, 특히 vhost_scsi_clear_endpoint 없이 해당 함수를 반복 호출할 때 발생하는 메모리 관리 로직의 결함이 트리거 조건입니다. EPSS 수치가 0.00196으로 매우 낮고 KEV에 등재되지 않은 점은 일반적인 외부 공격 경로로는 도달하기 어렵다는 이론적 심각성과 실제 위협 간의 괴리를 보여줍니다. 그러나 가상 머신(VM) 내부에서 호스트 커널로 탈출하려는 Guest-to-Host Escape 시나리오에서는 Use-after-Free (UaF)라는 치명적인 원시 값(Primitive)을 제공하므로, 특정 환경의 공격자에게는 매우 높은 악용 가능성을 가집니다. 결과적으로 이 취약점은 단순한 서비스 거부보다는 권한 상승이나 커널 메모리 오염을 통한 제어권 획득을 목표로 하는 정교한 체이닝 공격의 핵심 고리로 작용할 위험이 큽니다.
💥 영향 분석
(1) 기술적 위험
- 시스템 가용성 파괴: 잘못된 메모리 참조로 인한 Kernel Panic 및 시스템 즉시 중단(DoS).
- 권한 상승: UAF 취약점을 이용해 커널 메모리를 오염시키고 제어 흐름을 탈취할 경우, 일반 사용자에서 Root 권한으로 상승 가능.
(2) 비즈니스 영향
- 가상화 환경 불안정성: vhost-scsi를 사용하는 가상화 호스트의 경우, 단일 게스트의 공격으로 호스트 전체가 다운되어 다수의 VM 서비스 중단 초래.
- 데이터 무결성 위험: 커널 메모리 오염 시 하이퍼바이저 레벨에서의 데이터 변조 가능성 존재.
🔗 관련 취약점·체이닝
- 추정: 정보 노출 $\rightarrow$ UAF $\rightarrow$ 권한 상승:
KASLR을 우회하기 위한 커널 주소 유출(Information Leak) 취약점과 체이닝될 경우, UAF를 통한 임의 코드 실행 성공률이 극대화됨. - 추정: Heap Spraying: 해제된
vs_tpg영역에 공격자가 제어하는 데이터를 배치하는 Heap Spraying 기법과 결합하여 함수 포인터를 덮어쓰는 패턴으로 이어질 수 있음.
🔎 탐지
(1) 로그 지표
- 커널 로그(
dmesg,/var/log/syslog) 내vhost_scsi관련 Segmentation Fault 또는General Protection Fault발생 기록. KASAN(Kernel Address Sanitizer) 활성화 환경에서use-after-free경고 메시지 출력.
(2) 탐지 규칙 예시
- 로직: 동일한 vhost-scsi 세션에서
set_endpoint호출 횟수가 비정상적으로 많으나clear_endpoint호출이 없는 패턴 감시. - SIEM/Auditd:
auditd를 통해 커널 모듈 관련 시스템 콜 및 특정 IOCTL 호출 빈도 모니터링 (단, 함수 레벨 탐지는 eBPF 필요). - eBPF 쿼리(의사코드):
kprobe:vhost_scsi_set_endpoint호출 시vs->vs_tpg상태를 추적하여clear없이 재호출되는지 검증.
(3) 오탐 시나리오 및 튜닝
- 오탐: 특정 스토리지 드라이버의 비정상적인 재시도 로직으로 인해 다중 호출이 발생할 수 있음.
- 튜닝: 단순 호출 횟수가 아닌,
match=false조건과 이후 즉각적인 SCSI Request 전송이 이어지는 시퀀스를 분석하여 탐지 정밀도 향상.
🛡️ 완화 방안
본 리포트는 다중 소스 교차검증을 통해 데이터 일관성이 확인되었으며, EPSS 0.00196(낮은 실측 악용률)과 AV:L 조건을 근거로 우선순위를 scheduled로 결정함.
- 즉시 (긴급 차단):
- 불필요한 경우
vhost-scsi커널 모듈 언로드 (modprobe -r vhost_scsi). - 난이도: 저 / 영향: 해당 기능 사용 불가 / 검증:
lsmod | grep vhost_scsi로 확인.
- 불필요한 경우
- 단기 (완화):
- 비특권 사용자의 커널 인터페이스 접근 제한 및
unprivileged_userns_clone비활성화(배포판별 설정 상이). - 난이도: 중 / 영향: 일부 컨테이너/가상화 기능 제약 / 검증: 권한 없는 계정으로 모듈 접근 테스트.
- 비특권 사용자의 커널 인터페이스 접근 제한 및
- 근본 (해결):
- 영향을 받는 커널 버전(3.9.1 ~ 6.14.2 등)에서 취약점이 해결된 최신 패치 버전으로 업데이트.
- 난이도: 고 / 영향: 재부팅 필요 및 커널 호환성 테스트 필요 / 검증:
uname -r을 통해 패치 적용 버전 확인.
⚖️ 위험도 / 우선순위
- 조치: scheduled (이번 주 내)
- 근거: CVSS=7.8 · non-KEV · EPSS=0.00196 · exploit=hard · in_scope=None