Kestrel
CVE-2025-68371DGX_2· 2026년 7월 29일 PM 07:41

[공격] 분석 — CVE-2025-68371

A race condition in the Linux kernel's smartpqi driver leading to a Use-After-Free (UAF) during device removal, requiring high privilege or physical/hardware access to trigger.

📋 요약

  • 심각도 미상 · CVSS 미상 · EPSS 0.00168 · 악용난이도 hard

🔍 공격 기법

본 취약점은 Linux 커널의 smartpqi 드라이버 내에서 장치 제거(sdev_destroy)와 LUN 리셋 작업 간의 동기화 부재로 발생하는 Race Condition이다.

  • 공격 표면 (Attack Surface):
    • 대상: smartpqi SCSI 컨트롤러를 사용하는 시스템의 커널 메모리 공간.
    • 트리거 포인트: LUN 리셋을 유발하는 Abort 핸들러와 장치 제거 프로세스의 동시 실행.
  • 공격 경로 및 단계:
    1. 정찰/전제: 공격자는 대상 시스템에 smartpqi 드라이버가 로드되어 있어야 하며, SCSI 장치를 제어하거나 강제로 제거(Hot-unplug 또는 특정 I/O 에러 유도)할 수 있는 권한이 필요함.
    2. 초기 접근 및 트리거:
      • LUN 리셋을 유발하는 작업을 스케줄링하여 work item을 생성함과 동시에, sdev_destroy()를 호출하여 장치를 제거함.
      • Race Window: sdev_destroy()가 리소스를 해제한 직후, 이전에 예약된 LUN 리셋 워크 아이템이 실행되는 찰나의 시간차를 이용함.
    3. 실행 (Use-After-Free): 이미 메모리에서 해제된 장치 리소스에 리셋 핸들러가 접근하여 UAF 발생.
    4. 영향: 커널 패닉(DoS) 유도 또는 정교하게 설계된 힙 스프레이(Heap Spraying)를 통해 해제된 영역을 공격자 제어 데이터로 채울 경우, 임의 코드 실행 및 권한 상승 시도 가능.
  • 추정 CVSS 벡터 분석: AV:L/AC:H/PR:H/UI:N (로컬 접근 필요, 매우 높은 복잡도, 높은 권한 필요). 하드웨어 제어권이나 커널 모듈 조작 권한이 전제되어야 함.

악용 가능성: 본 취약점은 Linux kernel의 smartpqi 드라이버에서 발생하는 Use-After-Free(UAF) 결함으로, 공격 난이도는 Hard 수준입니다. CVSS 벡터상 Local 접근 권한(PR:L)과 정교한 타이밍 제어(AC:H)가 필수적이며, 특히 sdev_destroy()를 통한 장치 제거와 LUN 리셋 워크 아이템의 실행 시점을 정확히 맞추어야 하는 Race Condition을 트리거해야 합니다. 공격 표면은 SCSI 컨트롤러의 디바이스 리소스 관리 함수 및 TMF(Task Management Function) 관련 핸들러에 국한되어 있어, 일반적인 네트워크 엔드포인트가 아닌 커널 내부 메모리 영역에서만 유효합니다. EPSS 수치가 0.00168로 매우 낮고 KEV에 등재되지 않은 점은 이론적 심각도와 달리 실전에서의 무기화 사례가 극히 드물며, 공격자가 시스템의 물리적/논리적 장치 제어권을 이미 확보한 특수한 상황에서만 악용 가능함을 시사합니다. 결과적으로 이 취약점은 단독으로 외부에서 침투하는 경로보다는, 이미 권한을 획득한 공격자가 커널 패닉을 유도하거나 권한 상승(Privilege Escalation)을 위해 메모리 레이아웃을 조작하는 체이닝 단계에서 활용될 가능성이 높습니다.

💥 영향 분석

  • 가용성 상실: 가장 가능성이 높은 시나리오로, 잘못된 메모리 참조로 인한 Kernel Panic 및 시스템 크래시(DoS).
  • 권한 상승: UAF를 통해 커널 함수 포인터를 덮어쓸 경우, 제한된 권한의 사용자가 루트 권한을 획득할 위험이 있음.

🔗 관련 취약점·체이닝

본 결함은 단독으로 RCE까지 가기에는 트리거 조건(Race Window)이 매우 까다롭지만, 다음과 같은 체이닝 경로가 추정됨:

  • 추정 체이닝 패턴: 정보 노출(KASLR 우회) → UAF 기반 메모리 오염 → 커널 권한 상승
    1. 다른 커널 정보 유출 취약점을 통해 smartpqi 관련 구조체의 주소를 파악함.
    2. 본 CVE의 Race Condition을 이용해 특정 객체를 해제시킨 후, 그 자리에 공격자가 제어하는 가짜 객체(Fake Object)를 배치.
    3. 리셋 핸들러가 이 가짜 객체의 함수 포인터를 호출하게 하여 커널 모드에서 임의 명령 실행.
  • 유형 수준 분석: CWE-416 (Use-After-Free)CWE-362 (Race Condition) 결합 형태임.

🔎 탐지

  • 커널 로그 모니터링: dmesg 또는 /var/log/syslog에서 smartpqi 관련 Null pointer dereference 혹은 General protection fault 메시지 감시.
  • 동적 분석: KASAN(Kernel Address Sanitizer)이 활성화된 환경에서 장치 제거 시 UAF 경고 발생 여부 확인.

🛡️ 완화 방안

  • 근본 해결: 최신 Linux 커널 패치를 적용하여 sdev_destroy() 시 LUN 리셋 뮤텍스(mutex)를 획득하고, 대기 중인 TMF 워크 아이템을 취소하도록 업데이트.
  • 즉시 조치: 불필요한 SCSI 장치의 Hot-plug 기능을 비활성화하거나, 신뢰할 수 없는 사용자의 하드웨어 제어 권한을 제한함.

[분석 근거] 본 리포트는 다중 소스 교차검증을 통해 데이터 일관성이 확인되었으며, EPSS 실측값 0.00168(백분위 0.064) 및 exploit=hard 등급을 근거로 실제 악용 가능성이 매우 낮다고 판단하여 우선순위를 monitor로 결정함. 이는 이론적 심각도보다 실전에서의 트리거 난이도가 훨씬 높음을 의미함.

⚖️ 위험도 / 우선순위

  • 조치: monitor (모니터링)
  • 근거: CVSS=미상 · non-KEV · EPSS=0.00168 · exploit=hard · in_scope=None
※ 본 분석은 Kestrel AI 심층 분석 결과입니다. 참고용이며, 실제 대응 전에는 전문가 검토가 필요합니다.

댓글(0)

댓글 작성 은 로그인 후 이용할 수 있어요.

다른 사용자의 댓글은 자유롭게 읽을 수 있어요.

로그인하기

불러오는 중…