[공격] 분석 — CVE-2025-21861
A memory corruption vulnerability in the Linux kernel's device migration process allows a local user to cause a system crash (DoS), requiring an update to patched kernel versions.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00212 · 악용난이도 hard
🔍 공격 기법
(1) 트리거 조건: migrate_device_finalize() 함수 내에서 마이그레이션 성공/실패 여부와 관계없이 memcg_data가 0인 folio를 LRU(Least Recently Used) 리스트에 추가할 때 발생함. 특히 folio_putback_lru() 호출 시 memcg_data == 0 상태라면 커널의 memcg 검증 로직이 이를 비정상 상태로 판단하여 Panic/Warning을 유발함.
(2) 공격 단계:
- 정찰: 대상 시스템의 커널 버전 확인 및 HMM(Heterogeneous Memory Management) 기능 활성화 여부 파악.
- 초기 접근: Local User 권한 획득 (AV:L, PR:L).
- 실행:
hmm_device_private관련 테스트나 특정 장치 메모리 마이그레이션을 유도하는 시스템 콜 호출. - 영향: 커널 내부의
VM_WARN_ON_ONCE_FOLIO트리거를 통한 시스템 크래시(DoS) 유발.
(3) 공격 표면: Linux Kernel Memory Management (mm/migrate_device), 특히 HMM 관련 인터페이스 및 장치 메모리 마이그레이션 경로.
(4) CVSS 벡터 연결:
- AV:L / PR:L: 로컬 계정을 가진 사용자가 커널 인터페이스에 접근 가능해야 함.
- AC:L: 특정 조건(
memcg_data == 0)만 맞추면 되므로 공격 복잡도는 낮음. - UI:N: 사용자 상호작용 불필요.
악용 가능성: 본 취약점은 Linux Kernel의 메모리 관리 모듈 내 migrate_device_finalize() 함수에서 발생하며, 공격 난이도는 Hard로 평가됩니다. AV:L 및 PR:L 벡터가 나타내듯, 공격자는 이미 시스템에 로그인한 상태에서 커널 메모리 조작이 가능한 로컬 권한을 보유해야 하며, 이는 외부 네트워크를 통한 직접 침투가 불가능함을 의미합니다. EPSS 수치가 0.00212로 매우 낮고 KEV에 등재되지 않은 점은 현재 이 취약점을 이용한 실제 공격 사례나 공개된 무기화 도구가 드물다는 것을 시사하지만, 커널 내부의 LRU(Least Recently Used) 리스트 오염이라는 특성상 성공 시 시스템 불안정성이나 권한 상승으로 이어질 잠재적 위협이 존재합니다. 공격 표면은 HMM(Heterogeneous Memory Management) 및 Device Migration 관련 엔드포인트와 메모리 페이지 마이그레이션 프로토콜에 집중되어 있습니다. 구체적으로는 memcg_data가 0인 folio가 folio_putback_lru()를 통해 LRU 리스트에 잘못 추가되는 트리거 조건이 충족되어야 합니다. 결과적으로 이 취약점은 단순한 크래시보다는 정교하게 설계된 메모리 레이아웃 조작과 체이닝을 통해 커널 공간의 무결성을 깨뜨리는 방향으로 악용될 가능성이 큽니다.
💥 영향 분석
(1) 기술적 위험: Memory Corruption으로 인한 커널 패닉 및 시스템 가동 중단(Denial of Service). memcg 코드의 무결성 훼손으로 인해 시스템이 비정상 종료됨.
(2) 비즈니스 영향: 서버 가용성 상실. 특히 HMM을 사용하는 고성능 컴퓨팅(HPC) 또는 GPU 가속 환경에서 서비스 중단 발생 가능.
🔗 관련 취약점·체이닝
- 추정: 단독으로는 DoS에 그치지만, LRU 리스트 조작 과정에서 메모리 레이아웃을 예측 가능하게 만들거나 특정 메모리 구조를 오염시킬 수 있다면, 다른 Use-After-Free(UAF)나 Out-of-Bounds(OOB) 취약점과 체이닝하여 권한 상승(LPE)으로 이어질 가능성이 있음.
- 패턴:
Memory Corruption (CWE-119 등)$\rightarrow$Kernel Panic또는추정: Privilege Escalation.
🔎 탐지
(1) 로그 지표: 커널 로그(dmesg, /var/log/kern.log) 내 VM_WARN_ON_ONCE_FOLIO(!memcg && !mem_cgroup_disabled()) 문자열 및 migrate_device 관련 스택 트레이스 확인.
(2) 탐지 규칙:
- Logic:
dmesg | grep -E "VM_WARN_ON_ONCE_FOLIO|migrate_device_finalize" - SIEM 쿼리 예시:
index=linux_logs message="*VM_WARN_ON_ONCE_FOLIO*" AND message="*memcg*"
(3) 오탐 시나리오 및 튜닝: 정식 HMM 셀프 테스트(hmm-tests) 수행 중 발생하는 로그는 정상적인 테스트 과정일 수 있음. 특정 테스트 바이너리 실행 경로와 매칭하여 필터링 필요.
🛡️ 완화 방안
즉시(긴급 차단):
- HMM 관련 특수 장치 드라이버 로딩 제한 및 일반 사용자의 메모리 마이그레이션 유도 인터페이스 접근 제어. (난이도: 중 / 영향: 특정 하드웨어 가속 기능 제한)
단기(완화):
mem_cgroup비활성화 검토 (취약점 트리거 조건인!memcg && !mem_cgroup_disabled()관련). (난이도: 하 / 영향: 메모리 제어 그룹 기능 상실)
근본(해결):
- 패치된 커널 버전으로 업데이트.
- Linux Kernel 4.14 ~ 6.12.17 $\rightarrow$ 최신 패치 버전 적용.
- Linux Kernel 6.13 $\rightarrow$ 6.13.6 이상으로 업그레이드. (난이도: 중 / 영향: 재부팅 필요, 가용성 일시 중단)
분석 근거: 본 리포트는 다중 소스에서 데이터 일관성이 확인된 결과(신뢰도 1.0)를 바탕으로 작성됨. 실측 EPSS 값은 0.00212로 매우 낮으며, AV:L/PR:L 조건과 KEV 미등재 사실을 근거로 악용 난이도를 'hard'로 판단, 우선순위를 'monitor'로 결정함.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00212 · exploit=hard · in_scope=None