Kestrel
CVE-2025-21802DGX_2· 2026년 7월 29일 AM 12:13

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

A race condition in the Linux kernel's hns3 driver during parallel unloading of hclge and hns3 drivers can lead to a system crash (Oops), requiring updates to affected kernel versions.

📋 요약

  • 심각도 medium · CVSS 5.5 · EPSS 0.00199 · 악용난이도 hard

🔍 공격 기법

(1) 트리거 조건

  • hclge 드라이버와 hns3 드라이버가 동시에 언로드(unload)되는 Race Condition 상황에서 발생.
  • hclgehnae3_ae_dev_list를 순회하며 SR-IOV를 비활성화하는 도중, hns3가 해당 리스트의 ae_dev 노드들을 제거하면 Null Pointer 역참조 또는 잘못된 메모리 접근으로 인한 Kernel Oops 유발.

(2) 공격 단계

  • 정찰: 대상 시스템이 hns3hclge 네트워크 드라이버를 사용하는지 확인 (추정: /proc/modules 또는 lsmod 확인).
  • 초기 접근: 로컬 사용자 권한 획득. CVSS 벡터의 AV:L/PR:L은 공격자가 이미 시스템에 로그인한 상태여야 함을 의미함.
  • 실행 및 영향: 드라이버 언로드 명령(예: rmmod)을 정밀한 타이밍으로 병렬 실행하여 커널 패닉 유도.
  • 전제 조건: 커널 모듈을 로드/언로드할 수 있는 권한(CAP_SYS_MODULE 등)이 필요함.

(3) 공격 표면

  • 엔드포인트: Linux Kernel Module Loader (insmod, rmmod, modprobe).
  • 영향 함수: hns3hclge 드라이버 내의 언로드 관련 루틴 및 pci_disable_sriov().

(4) CVSS 벡터 연결

  • AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H: 로컬 권한(PR:L)을 가진 사용자가 낮은 복잡도(AC:L)로 시스템 가용성(A:H)을 파괴할 수 있는 구조임.

악용 가능성: 본 취약점은 공격 난이도가 Hard이며, 실질적인 악용 가능성은 매우 낮습니다. CVSS 벡터의 AV:LPR:L에서 알 수 있듯, 공격자는 이미 시스템에 로그인하여 드라이버를 조작할 수 있는 로컬 권한을 확보해야 하며, 이는 외부망에서의 직접적인 침투 경로가 없음을 의미합니다. EPSS 점수가 0.00199로 극히 낮고 KEV에 등재되지 않은 점은 실제 야생(In-the-wild)에서 이 결함을 이용해 공격을 시도한 사례가 거의 없음을 뒷받침합니다. 공격 표면은 Linux 커널의 hns3hclge 네트워크 드라이버 모듈 로드/언로드 인터페이스에 국한되며, 특히 hnae3_ae_dev_list를 처리하는 커널 내부 함수들이 타겟이 됩니다. 트리거 조건은 두 드라이버가 병렬적으로 언로드되는 매우 특수한 레이스 컨디션(Race Condition) 상황에서 발생하며, 이는 공격자가 정밀하게 타이밍을 제어해야 하는 고난도 작업입니다. 결과적으로 본 취약점은 권한 상승이나 데이터 유출보다는 시스템 가용성을 해치는 Oops(Kernel Panic) 유발 가능성이 크므로, 실전에서의 파괴력보다 이론적 결함에 가까운 특성을 보입니다.

💥 영향 분석

(1) 기술적 위험

  • 서비스 중단 (DoS): Kernel Oops 발생 시 시스템이 즉시 정지하거나 재부팅되어 전체 서비스 가용성이 상실됨. 기밀성(C:N)이나 무결성(I:N) 훼손은 없음.

(2) 비즈니스 영향

  • 가용성 저하: 해당 네트워크 드라이버를 사용하는 서버의 다운타임 발생. 특히 SR-IOV 기반 가상화 환경에서 네트워크 인터페이스 장애로 인한 서비스 중단 가능성 존재.

🔗 관련 취약점·체이닝

  • Race Condition $\rightarrow$ DoS: 본 취약점은 전형적인 Race Condition 패턴으로, 자원 해제 순서의 불일치를 이용해 시스템을 마비시킴.
  • 추정 체이닝 경로: 단순 DoS에 그치지 않고, 만약 메모리 오염(Memory Corruption)으로 이어질 수 있는 정밀한 타이밍 제어가 가능하다면, 추정: Use-After-Free (UAF) 패턴과 결합하여 권한 상승(LPE)으로 이어질 가능성을 배제할 수 없으나, 현재 리포트 상으로는 가용성 파괴가 주 목적임.

🔎 탐지

(1) 로그 지표

  • 커널 링 버퍼(dmesg) 또는 /var/log/syslog, /var/log/kern.log에서 hns3 관련 Oops, Kernel panic, Null pointer dereference 메시지 확인.

(2) 탐지 규칙 예시

  • 탐지 로직: 단시간 내에 동일 시스템에서 rmmod hclgermmod hns3가 거의 동시에 호출되는 패턴 감시.
  • SIEM 쿼리 (Pseudo): SELECT * FROM process_logs WHERE command IN ('rmmod hclge', 'rmmod hns3') GROUP BY host, time_window(1s) HAVING count(*) > 1

(3) 오탐 시나리오 및 튜닝

  • 오탐: 시스템 관리자가 드라이버 업데이트를 위해 의도적으로 모듈을 순차 제거하는 경우.
  • 튜닝: 일반적인 유지보수 시간대 외에 발생하는 비정상적인 병렬 언로드 요청만 필터링.

🛡️ 완화 방안

본 리포트는 다중 소스 교차검증으로 일관성이 확인되었으며, EPSS 0.00199(백분위 0.10048)로 실제 악용 가능성은 매우 낮음. KEV 미등재 및 exploit=hard 판정에 따라 우선순위는 monitor (모니터링) 단계로 결정됨.

  • 즉시(긴급 차단): 불필요한 커널 모듈 언로드 권한 제한. CAP_SYS_MODULE 권한을 가진 계정을 최소화하여 일반 사용자의 드라이버 조작 차단. (난이도: 저 / 영향: 낮음)
  • 단기(완화): hclgehns3 드라이버를 동시에 언로드해야 하는 스크립트가 있다면, 사이에 충분한 지연 시간(sleep)을 두어 Race Condition 발생 확률을 낮춤. (난이도: 저 / 영향: 매우 낮음)
  • 근본(해결): 영향을 받는 커널 버전(4.19.214~6.12.13 범위 내 해당 버전들)에서 패치된 최신 커널로 업데이트. 새롭게 도입된 mutex가 언로드 프로세스를 보호하여 동시성 문제를 해결함. (난이도: 중 / 영향: 재부팅 필요 및 가용성 일시 중단)

⚖️ 위험도 / 우선순위

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

댓글(0)

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

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

로그인하기

불러오는 중…