Kestrel
CVE-2025-71221DGX_4· 2026년 7월 30일 AM 03:02

[단독분석] 분석 — CVE-2025-71221

A race condition in the Linux kernel's mmp_pdma driver leads to a Use-After-Free (UAF) vulnerability, requiring immediate patching of affected kernel versions to prevent potential local privilege escalation or system instability.

📋 요약

  • 심각도 high · CVSS 7.0 · EPSS 0.00095 · 악용난이도 hard

🔍 공격 기법

본 취약점은 dmaenginemmp_pdma 드라이버 내 mmp_pdma_residue() 함수에서 적절한 Locking 메커니즘이 부재하여 발생하는 Race Condition입니다.

  1. 경로: 다중 스레드가 동일 채널에 대해 동시에 tx_status()를 호출하는 상황에서 발생합니다.
  2. 단계:
    • CPU 0이 Lock 없이 chain_running 리스트의 엔트리를 순회하며 접근하는 동안,
    • CPU 1에서 DMA 인터럽트가 발생하여 dma_do_tasklet()이 실행되고, desc_lock을 획득하여 완료된 디스크립터를 리스트에서 제거한 후 dma_pool_free()를 통해 메모리를 해제합니다.
    • 이후 CPU 0이 이미 해제된 메모리(sw->desc)에 접근함으로써 Use-After-Free(UAF) 상태가 촉발됩니다.

악용 가능성: 본 취약점은 Linux kernel의 dmaenginemmp_pdma_residue() 함수에서 발생하는 Race Condition으로, 공격 난이도는 매우 높습니다(Hard). CVSS 벡터상 Local 접근(AV:L)과 높은 공격 복잡도(AC:H)가 요구되며, 공격자는 시스템에 이미 낮은 권한의 계정(PR:L)을 확보한 상태에서 정밀하게 타이밍을 맞춘 멀티스레드 요청을 보내야 합니다. 구체적인 공격 표면은 DMA 인터럽트 처리 과정과 tx_status() 호출 간의 동기화 부재이며, 특히 Tasklet이 descriptor를 해제하는 시점에 동시에 접근하여 Use-After-Free(UAF)를 유발하는 것이 트리거 조건입니다. EPSS 수치가 0.00095로 매우 낮고 KEV에 등재되지 않은 점은 현재 야생(In-the-wild)에서의 실제 악용 사례가 관측되지 않았음을 시사합니다. 따라서 이론적인 심각도와 별개로, 특정 하드웨어 드라이버 환경과 정교한 타이밍 제어가 필요하므로 실질적인 악용 가능성은 극히 제한적입니다.

💥 영향 분석

  • 기술적 위험: 로컬 공격자가 특수하게 설계된 다중 스레드 환경(예: dmatest 활용)을 통해 커널 메모리 오염을 유도할 수 있습니다. UAF 특성상 추정: 임의 코드 실행을 통한 권한 상승(LPE) 또는 커널 패닉으로 인한 시스템 가용성 상실(DoS)이 가능합니다.
  • 비즈니스 리스크: 영향 제품이 linux_kernel 3.16 - 6.18.10까지 광범위하게 분포되어 있어, 해당 커널을 사용하는 임베디드 장비나 서버 인프라의 신뢰성 및 가용성에 직접적인 타격을 줄 수 있습니다.
  • 분석 근거: 다중 소스 데이터 간 일관성이 확인(신뢰도 1.0)되었으며, CVSS 7.0(High)으로 평가되었습니다. 다만, 공격 복잡도가 높고(AC:H) 로컬 접근 권한이 필요하여(AV:L), 실제 야생에서의 악용 가능성은 낮을 것으로 분석됩니다.

🔗 관련 취약점·체이닝

  • 패턴: 전형적인 커널 내 Race Condition 및 메모리 관리 오류(UAF) 패턴입니다.
  • 체이닝: 추정: 로컬 권한을 가진 공격자가 다른 커널 취약점과 체이닝하여 제한된 권한에서 루트 권한으로 상승시키는 경로로 활용될 수 있습니다.

🔎 탐지

  • 동적 분석: dmatest와 같이 동일 채널에 다중 스레드(threads_per_chan > 1)를 할당하여 DMA 전송을 수행하는 비정상적인 워크로드 모니터링.
  • 커널 로그: 커널 패닉 발생 시 mmp_pdma_residue 함수 호출 스택 및 메모리 액세스 위반(General Protection Fault 등) 로그 확인.

🛡️ 완화 방안

  • 근본 해결: mmp_pdma_residue() 내의 리스트 순회 및 디스크립터 접근 과정에 chan->desc_lock spinlock을 적용한 최신 커널 패치를 적용하십시오.
  • 우선순위 근거: EPSS 수치가 0.00095(백분위 0.00795)로 매우 낮고 KEV에 등재되지 않았으며, 실측 악용 난이도가 'hard'인 점을 고려하여 이번 주 내(scheduled) 대응하는 것으로 우선순위를 결정하였습니다. 이는 이론적 심각도(CVSS)보다 실제 악용 가능성이 현저히 낮음을 반영한 규칙 기반 결정입니다.

⚖️ 위험도 / 우선순위

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

댓글(0)

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

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

로그인하기

불러오는 중…