[공격] 분석 — CVE-2025-71188
A device leak in the Linux kernel's lpc18xx-dmamux driver allows a local user to cause a Denial of Service (DoS), requiring monitoring and eventual patching.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00183 · 악용난이도 hard
🔍 공격 기법
(1) 트리거 조건: lpc18xx-dmamux 드라이버에서 DMA route 할당 시, 플랫폼 장치를 조회하며 획득한 reference를 적절히 해제(put_device)하지 않아 발생하는 Device Leak 결함이다. 특정 시스템 호출을 통해 반복적으로 DMA route 할당/해제를 유도하면 커널 메모리 내 객체가 누적된다.
(2) 공격 단계:
- 정찰: 대상 시스템의 커널 버전이 영향 범위(4.3.1 ~ 6.18.7 등)에 있는지 확인하고
lpc18xx관련 드라이버가 로드되어 있는지 확인한다. - 초기 접근: Local User 권한을 획득해야 한다 (AV:L, PR:L).
- 실행 및 영향: DMA mux route 할당을 유발하는 동작을 반복적으로 수행하여 커널 리소스를 고갈시킨다. 이 과정에서
kobjectreference count가 증가하지만 감소하지 않는 상태가 지속된다. - 결과: 커널 메모리 누수로 인한 시스템 불안정화 및 최종적인 Denial of Service(DoS)를 유발한다.
(3) 공격 표면: Linux Kernel 내 dmaengine 서브시스템의 lpc18xx-dmamux 드라이버 함수. 사용자 공간에서 해당 드라이버의 동작을 트리거할 수 있는 인터페이스(추정: /dev/ 하위 장치 노드 또는 관련 syscall)가 공격 경로가 된다.
(4) CVSS 벡터 연결:
- AV:L / PR:L: 로컬 계정 권한이 필수적이며, 네트워크를 통한 원격 공격은 불가능하다.
- AC:L: 특별한 환경 설정 없이 드라이버만 활성화되어 있다면 트리거가 쉽다.
- UI:N: 사용자 상호작용 없이 실행 가능하다.
악용 가능성: 본 취약점은 AV:L 및 PR:L 벡터가 가리키듯, 공격자가 이미 시스템에 낮은 권한의 계정으로 접근하여 로컬 쉘을 확보한 상태여야 트리거 가능하므로 진입 장벽이 높습니다. 공격 표면은 Linux 커널 내 dmaengine 서브시스템의 lpc18xx-dmamux 드라이버이며, 구체적으로 DMA route 할당 과정에서 발생하는 Device Reference Leak 지점이 타겟입니다. EPSS 수치가 0.00183으로 매우 낮고 KEV에 등재되지 않은 점은 현재 이 결함만으로 즉각적인 원격 코드 실행(RCE)이나 대규모 자동화 공격이 이루어지고 있지 않음을 시사합니다. 그러나 커널 메모리 내에서 참조 카운트가 누적되는 리소스 누수는 장기적으로 시스템 불안정성을 초래하거나, 특정 조건에서 Use-After-Free(UAF)와 같은 더 치명적인 메모리 오염 취약점으로 이어지는 징검다리가 될 수 있습니다. 따라서 단일 취약점으로서의 공격 난이도는 Hard 수준으로 매우 높으나, 권한 상승을 노리는 정교한 로컬 공격자가 커널 오브젝트의 생명주기를 조작하기 위한 체이닝 요소로 악용할 가능성이 존재합니다.
💥 영향 분석
(1) 기술적 위험: 커널 메모리 누수로 인한 시스템 리소스 고갈 및 Kernel Panic으로 이어지는 서비스 중단(DoS). 다만, reference leak만으로는 직접적인 권한 상승이나 데이터 유출이 발생하지 않는다 (C:N/I:N/A:H).
(2) 비즈니스 영향: 해당 드라이버를 사용하는 임베디드 시스템이나 특정 하드웨어 환경에서 시스템 가용성이 상실된다. 서비스 중단으로 인한 운영 효율 저하 및 하드웨어 리부팅 필요성이 발생한다.
🔗 관련 취약점·체이닝
- 체이닝 경로: 단독으로는 DoS에 그치지만, 추정: 다른 커널 메모리 오염(Memory Corruption) 취약점과 결합될 경우, 의도적인 메모리 레이아웃 조작(Heap Spraying 유사 효과)을 통해 익스플로잇의 안정성을 높이는 보조 수단으로 활용될 가능성이 있다.
- 유형 수준:
Reference Count Leak$\rightarrow$Resource Exhaustion$\rightarrow$DoS패턴이다.
🔎 탐지
(1) 로그 지표: /proc/kmsg 또는 dmesg에서 DMA 관련 할당 오류나 Out of Memory(OOM) 킬러의 작동 기록을 확인한다.
(2) 탐지 규칙 예시:
- 로직: 특정 프로세스가 짧은 시간 내에 과도하게 DMA 관련 시스템 호출을 반복하고, 동시에 커널 슬랩 메모리(
kobject등) 사용량이 비정상적으로 증가하는 패턴을 감시한다. - 쿼리(의사코드):
SELECT * FROM kernel_events WHERE event_id = 'OOM_KILL' AND process_name IN (DMA_triggering_apps)
(3) 오탐 시나리오: 정상적인 고부하 DMA 작업 수행 시 메모리 사용량이 증가할 수 있다. 단순 사용량 증가가 아니라, 해제되지 않는 reference count의 누적 추세를 분석하여 튜닝해야 한다.
🛡️ 완화 방안
- 즉시(긴급 차단): 해당 하드웨어를 사용하지 않는 환경이라면
modprobe -r lpc18xx_dmamux(추정) 등을 통해 드라이버 로드를 차단한다. (난이도: 저 / 영향: 기능 상실 가능성 있음 / 검증:lsmod확인) - 단기(완화): 시스템 모니터링 도구를 통해 커널 메모리 사용량을 감시하고, 임계치 초과 시 경고 알람을 설정한다. (난이도: 저 / 영향: 성능 영향 미미 / 검증: 대시보드 확인)
- 근본(해결): Linux Kernel 패치 버전으로 업데이트하여
put_device누락분을 수정한다. (영향 제품 범위 내 최신 커널로 업그레이드). (난이도: 중 / 영향: 재부팅 필요 / 검증:uname -r및 커널 변경 로그 확인)
※ 본 리포트는 다중 소스 교차검증을 통해 데이터 일관성이 확인되었으며, 실측 EPSS(0.00183, 백분위 0.08079)가 매우 낮고 KEV에 등재되지 않았으며 AV:L 조건이므로 'monitor' 우선순위로 결정되었다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00183 · exploit=hard · in_scope=None