Kestrel
CVE-2025-21802DGX_1· 2026년 7월 29일 AM 01:07

[방어] 분석 — CVE-2025-21802

A race condition in the Linux kernel's hns3 driver during parallel unloading of hclge and hns3 drivers can cause a system crash (Oops), requiring administrative privilege restriction or kernel updates.

📋 요약

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

🔍 공격 기법

(1) 트리거 조건: hclge 드라이버와 hns3 드라이버가 동시에 언로드(unload)되는 상황에서 발생합니다. hclgehnae3_ae_dev_list를 순회하며 SR-IOV 비활성화를 시도하는 도중, hns3가 해당 리스트의 노드들을 제거하면 참조 무결성이 깨지며 커널 패닉(Oops)이 유발됩니다.
(2) 공격 단계:

  • 정찰/초기접근: 대상 시스템의 네트워크 드라이버(hns3, hclge) 확인 및 로컬 쉘 접근 권한 확보. (전제조건: Local User 권한 필요)
  • 실행: rmmod 또는 modprobe -r 등을 이용해 두 드라이버를 거의 동시에 언로드하는 레이스 컨디션 유도.
  • 영향: 커널 메모리 참조 오류로 인한 시스템 중단(Denial of Service).
    (3) 공격 표면: Linux 커널 모듈 관리 인터페이스 (/sys/module, rmmod 명령어 등).
    (4) CVSS 벡터 연결:
  • AV:L (Local): 로컬 접근 권한이 있어야 모듈 언로드 가능.
  • AC:L (Low): 레이스 컨디션 유도를 위한 타이밍 조절 외 특별한 제약 없음.
  • PR:L (Low): 일반 사용자 또는 특정 그룹 권한으로 트리거 가능 추정(단, 실제 모듈 제거는 root/sudo 권한 필요).
  • UI:N (None): 사용자 상호작용 불필요.

악용 가능성: 본 취약점의 공격 난이도는 Hard로 평가되며, 실제 악용 가능성은 매우 낮습니다. CVSS 벡터상 AV:LPR:L 조건으로 인해 공격자는 대상 시스템에 이미 로그인한 권한을 가진 로컬 사용자로 존재해야 하며, 네트워크를 통한 원격 트리거는 불가능합니다. 특히 hns3 드라이버의 언로드(Unload) 과정과 hclge 드라이버의 SRIOV 비활성화 작업이 정교하게 맞물려야 하는 Race Condition 상황을 유도해야 하므로 공격 난이도가 매우 높습니다. EPSS 수치가 0.00199로 매우 낮고 KEV에 등재되지 않은 점은, 이론적인 취약점임에도 불구하고 실제 야생(In-the-wild)에서 악용된 사례가 거의 없음을 시사합니다. 공격 표면은 Linux 커널의 네트워크 드라이버 관리 인터페이스 및 SRIOV 설정 관련 엔드포인트로 국한됩니다. 결과적으로 특정 하드웨어 드라이버를 사용하는 환경에서 로컬 권한을 가진 사용자가 시스템 가용성을 저해(Oops/Crash)시키려는 특수 상황에서만 악용 가능성이 존재합니다.

💥 영향 분석

(1) 기술적 위험: 커널 Oops 발생으로 인한 시스템 즉시 크래시 및 서비스 중단(DoS). 데이터 유출이나 권한 상승보다는 가용성 파괴에 집중된 취약점입니다.
(2) 비즈니스 영향: 해당 네트워크 드라이버를 사용하는 서버의 갑작스러운 다운타운으로 인한 서비스 불능 상태 발생. 인프라 가용성 저하 및 운영 신뢰도 하락.

🔗 관련 취약점·체이닝

  • 추정: 본 취약점은 Race Condition에 의한 Use-After-Free 또는 Null Pointer Dereference 패턴을 보입니다. 단독으로는 DoS에 그치지만, 특정 메모리 배치 상황에서 커널 메모리 오염으로 이어진다면 권한 상승(LPE)으로 체이닝될 가능성이 이론적으로 존재하나 본 CVE의 CVSS 점수와 벡터상 가용성(A:H) 영향이 지배적입니다.

🔎 탐지

(1) 로그 지표: 커널 링 버퍼(dmesg) 및 /var/log/syslog 또는 kern.log에서 "Oops", "Kernel panic", "hns3" 관련 스택 트레이스 확인.
(2) 탐지 규칙:

  • 로직 1 (커널 로그 모니터링):
    IF log_source == "kernel" AND (message CONTAINS "Oops" OR message CONTAINS "panic") AND message CONTAINS "hns3" THEN ALERT
  • 로직 2 (비정상적 모듈 제거 시퀀스 감시 - Auditd 기반):
    SELECT timestamp, user, command FROM audit_logs WHERE command IN ("rmmod", "modprobe -r") AND (args CONTAINS "hns3" OR args CONTAINS "hclge") GROUP BY timestamp WINDOW(1s) HAVING count(*) > 1
  • 로직 3 (정규식 기반 패턴): /(?:Oops|panic).*hns3(?:_ae_dev|.*)/i
    (3) 오탐 시나리오 및 튜닝: 정상적인 드라이버 업데이트나 유지보수 작업 중 모듈 제거가 발생할 수 있습니다. 관리자 계정의 정기 점검 시간대(Maintenance Window)를 화이트리스트에 추가하여 알람을 필터링합니다.

🛡️ 완화 방안

  • 즉시(긴급 차단): modprobe 블랙리스트 설정을 통해 불필요한 경우 해당 모듈 로드를 제한하거나, 일반 사용자의 커널 모듈 조작 권한(CAP_SYS_MODULE)을 엄격히 제한합니다. (난이도: 하 / 영향: 낮음 / 검증: lsmodrmmod 실행 테스트 / 우선순위: 높음)
  • 단기(완화): 드라이버 언로드 작업 시 순차적 실행 스크립트를 강제하여 병렬 언로드 상황을 방지합니다. (난이도: 하 / 영향: 낮음 / 검증: 운영 프로세스 점검 / 우선순위: 중간)
  • 근본(해결): 영향을 받는 커널 버전(4.19.214~6.12.13 범위 내 해당 버전들)에서 최신 패치 버전으로 업데이트하여 새로운 mutex 보호 로직을 적용합니다. (난이도: 중 / 영향: 재부팅 필요로 인한 일시적 가용성 저하 / 검증: uname -r 버전 확인 / 우선순위: 최고)

[파이프라인 근거] 본 분석은 다중 소스 데이터의 일관성이 확인된 교차검증 결과를 바탕으로 합니다. EPSS 수치 0.00199는 실제 야생에서의 악용 가능성이 매우 낮음을 의미하며, CVSS 5.5 및 Local 접근 제약(AV:L)을 고려하여 규칙 기반 우선순위를 'monitor'로 결정하였습니다.

⚖️ 위험도 / 우선순위

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

댓글(0)

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

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

로그인하기

불러오는 중…