Kestrel
CVE-2025-71075DGX_2· 2026년 7월 30일 AM 12:08

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

A local Use-After-Free in the aic94xx driver's device removal path allows potential kernel privilege escalation via race conditions, requiring immediate patching of affected Linux kernels.

📋 요약

  • 심각도 high · CVSS 7.8 · EPSS 0.00126 · 악용난이도 hard

🔍 공격 기법

본 취약점은 aic94xx 드라이버의 장치 제거 경로에서 발생하는 Race Condition 기반의 Use-After-Free(UAF)이다.

  • 공격 표면 및 트리거:

    • 노출 지점: asd_pci_remove() 함수.
    • 트리거 조건: 하드웨어 Hot-unplug 발생 또는 rmmod를 통한 커널 모듈 언로드 시점에 대기 중인 Tasklet이 존재해야 함.
    • 결함 원리: asd_ha 구조체를 해제(free)하기 전, 실행 중이거나 스케줄링된 Tasklet을 동기화(tasklet_kill())하지 않아, 메모리가 해제된 후에도 Tasklet이 해당 주소에 접근하여 명령을 수행함.
  • 공격 체인 및 단계:

    1. 정찰 (Reconnaissance): 대상 시스템에서 aic94xx 드라이버가 로드되어 있는지 확인 (lsmod | grep aic94xx).
    2. 초기 접근 (Initial Access): CVSS 벡터 AV:L/PR:L에 따라, 공격자는 이미 일반 사용자 권한으로 시스템에 로그인한 상태여야 함.
    3. 실행 및 권한 획득 (Execution & LPE):
      • Tasklet이 참조하는 asd_ha 구조체가 해제된 빈 공간을 공격자가 제어 가능한 데이터(Heap Spraying 등)로 채움.
      • Race Condition을 유도하여 Tasklet이 오염된 메모리를 참조하게 함으로써 커널 실행 흐름을 가로챔.
      • 추정: 함수 포인터 덮어쓰기를 통해 commit_creds(prepare_kernel_cred(0))와 같은 페이로드를 실행하여 Root 권한 획득.
    4. 영향: 커널 패닉으로 인한 DoS 또는 완전한 시스템 제어권 확보.
  • 실전 악용 가능성 분석:

    • EPSS 수치가 0.00126(백분위 0.0264)로 매우 낮고, 악용 등급이 hard인 이유는 특정 하드웨어 드라이버(aic94xx)에 종속적이며 정교한 Race Condition 타이밍 조절이 필요하기 때문임. 하지만 다중 소스에서 일관성이 확인된 결함이므로 이론적 실현 가능성은 충분함.

악용 가능성: 본 취약점은 AV:LPR:L 조건으로 인해 로컬 권한을 가진 공격자가 커널 메모리 공간에 접근할 수 있는 환경에서만 트리거됩니다. 공격 표면은 Linux 커널의 scsi aic94xx 드라이버 내 asd_pci_remove() 함수이며, 하드웨어 Hot-unplug나 모듈 언로드(Module Unload)와 같은 장치 제거 경로가 주요 타겟입니다. 실제 악용을 위해서는 asd_ha 구조체가 해제되는 시점과 펜딩된 Tasklet이 실행되는 시점 사이의 정밀한 Race Condition을 유도해야 하므로 공격 난이도는 Hard로 판정됩니다. EPSS 수치가 0.00126으로 매우 낮고 KEV에 등재되지 않은 점은, 해당 드라이버를 사용하는 특정 하드웨어 환경이 제한적이며 실전에서 자동화된 익스플로잇이 유포될 가능성이 희박함을 시사합니다. 결과적으로 이론적인 Use-After-Free(UAF) 위험성은 존재하나, 물리적/논리적 장치 제거 제어권과 커널 타이밍 정밀 제어가 동시에 필요하여 실제 악용 가능성은 매우 낮습니다.

💥 영향 분석

  • 권한 상승: 일반 사용자 권한에서 커널 모드 실행 권한(Ring 0)으로 상승하여 시스템 전체 제어 가능.
  • 가용성 파괴: 잘못된 메모리 참조로 인한 Kernel Panic 및 시스템 크래시 유발.

🔗 관련 취약점·체이닝

본 취약점은 단독으로 사용되기보다 다음과 같은 유형의 결함과 체이닝될 가능성이 높음:

  • KASLR 우회 $\rightarrow$ UAF: 커널 주소 공간 배치를 무작위화하는 KASLR이 적용된 경우, asd_ha 구조체의 정확한 위치를 알기 위해 별도의 정보 유출(Information Leak) 취약점이 선행되어야 함.
  • Heap Spraying $\rightarrow$ UAF: 해제된 메모리 영역을 공격자가 원하는 값으로 빠르게 채우기 위한 슬랩 할당자(Slab Allocator) 조작 기법이 필수적으로 동반됨.
  • 추정 체이닝 경로: Local User $\rightarrow$ Information Leak (KASLR Bypass) $\rightarrow$ Race Condition Trigger (UAF) $\rightarrow$ Kernel Payload Execution $\rightarrow$ Root Privilege.

🔎 탐지

  • 커널 로그 모니터링: dmesg 또는 /var/log/syslog에서 aic94xx 관련 Segmentation Fault, General Protection Fault, 또는 Kernel Panic 덤프 확인.
  • 모듈 동작 감시: 비정상적으로 빈번한 aic94xx 모듈의 로드/언로드 반복 행위 탐지.

🛡️ 완화 방안

  • 근본 해결: 영향받는 Linux 커널 버전을 최신 패치 버전으로 업데이트하여 asd_pci_remove() 내에 tasklet_kill()이 적용된 수정본을 반영함.
  • 즉시 조치: 해당 하드웨어를 사용하지 않는 경우, modprobe -r aic94xx로 모듈을 제거하거나 /etc/modprobe.d/blacklist.conf에 추가하여 드라이버 로드를 차단함.

⚖️ 위험도 / 우선순위

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

댓글(0)

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

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

로그인하기

불러오는 중…