[분석가] 분석 — CVE-2025-21745
A subsystem refcount leakage in the Linux kernel's blk-cgroup leads to potential Denial of Service, requiring a kernel update to affected versions.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00227 · 악용난이도 hard
🔍 공격 기법
- 트리거 조건:
blkcg_fill_root_iostats()함수가@block_class장치들을 순회할 때class_dev_iter_exit()를 호출하지 않아 발생하는 subsystem refcount 누수(leakage)가 핵심 결함입니다. - 공격 단계:
- 초기 접근: 공격자는 시스템에 대한 로컬 사용자 권한(
PR:L)을 이미 보유해야 합니다. - 실행:
blk-cgroup관련 리소스를 반복적으로 생성하거나 조작하여 refcount 누수를 유도합니다. - 영향: 커널 메모리 내의 참조 횟수가 비정상적으로 증가하여 자원 해제가 불가능해지며, 최종적으로 시스템 가용성에 영향을 줍니다.
- 초기 접근: 공격자는 시스템에 대한 로컬 사용자 권한(
- 공격 표면: Linux Kernel의
blk-cgroup인터페이스 및 관련 시스템 콜. - CVSS 벡터 연결:
AV:L: 로컬 접근이 필요하므로 원격 공격은 불가능합니다.AC:L: 특별한 환경 설정 없이 취약한 버전에서 재현 가능합니다.PR:L: 낮은 수준의 권한만으로도 트리거가 가능합니다.UI:N: 사용자 상호작용이 필요 없습니다.
악용 가능성: 본 취약점은 Linux kernel의 blk-cgroup 내 blkcg_fill_root_iostats() 함수에서 class_dev_iter_exit() 호출 누락으로 인해 발생하는 subsystem refcount leakage입니다. 공격 벡터가 AV:L로 정의된 만큼, 공격자는 시스템에 이미 유효한 사용자 계정(PR:L)을 보유하고 로컬 셸에 접근할 수 있는 권한이 있어야 하며, 별도의 사용자 상호작용(UI:N) 없이 트리거 가능합니다. 공격 표면은 blk-cgroup 관련 커널 인터페이스 및 I/O 통계 수집 경로로 제한되며, 특정 조건에서 반복적인 리소스 참조 누수를 유도하여 시스템 자원 고갈을 일으키는 구조입니다. 다만, EPSS 수치가 0.00227로 매우 낮고 KEV(Known Exploited Vulnerabilities)에 등재되지 않은 점은 실제 야생(In-the-wild)에서의 악용 사례가 미관측되었음을 시사합니다. 따라서 이론적인 취약점 존재 여부와 별개로, 로컬 권한 획득이라는 전제 조건과 낮은 실측 위협 지표를 고려할 때 공격 난이도는 hard이며 실제 악용 가능성은 낮을 것으로 판단됩니다.
💥 영향 분석
- 기술적 위험:
- 서비스 중단(DoS): subsystem refcount 누수로 인해 커널 메모리 자원이 고갈되거나, 특정 커널 객체가 해제되지 않아 시스템 불안정 및 패닉(Kernel Panic)이 발생할 수 있습니다. CVSS 벡터의
A:H는 가용성에 높은 영향을 줌을 의미합니다.
- 서비스 중단(DoS): subsystem refcount 누수로 인해 커널 메모리 자원이 고갈되거나, 특정 커널 객체가 해제되지 않아 시스템 불안정 및 패닉(Kernel Panic)이 발생할 수 있습니다. CVSS 벡터의
- 비즈니스 영향:
- 가용성 저하: 서버의 갑작스러운 재부팅이나 응답 불능 상태로 인해 서비스 다운타임이 발생할 수 있습니다.
- 운영 리스크: 인프라 레벨의 장애이므로 복구 시까지 모든 상위 애플리케이션 서비스가 중단됩니다.
🔗 관련 취약점·체이닝
- 추정: 본 취약점은 단독으로 권한 상승이나 데이터 유출을 일으키지는 않으나, 메모리 누수를 통해 시스템 상태를 불안정하게 만든 후 다른 커널 힙(Heap) 관련 취약점과 체이닝하여 예측 불가능한 동작을 유도하는 패턴으로 이어질 수 있습니다. (유형: Resource Leak $\rightarrow$ Denial of Service)
🔎 탐지
- 로그 지표: 커널 로그(
dmesg,/var/log/syslog)에서blk-cgroup관련 메모리 할당 오류나 slab cache의 비정상적 증가 패턴을 확인합니다. - 탐지 규칙 예시:
- 로직: 동일한 로컬 사용자가 단시간에 과도하게 많은 cgroup 생성/삭제 및 I/O 통계 요청을 수행하는지 모니터링.
- SIEM 쿼리(의사코드):
SELECT user, count(*) FROM kernel_events WHERE event_type="cgroup_io_stat_access" GROUP BY user HAVING count > threshold
- 오탐 시나리오 및 튜닝: 대규모 컨테이너 오케스트레이션 환경(K8s 등)에서 cgroup 생성/삭제가 빈번할 수 있습니다. 정상적인 관리 도구의 PID를 화이트리스트에 추가하여 튜닝합니다.
🛡️ 완화 방안
- 즉시 (긴급 차단):
- 불필요한 일반 사용자의
cgroup제어 권한을 제한하거나,sysctl등을 통해 리소스 할당 제한 설정을 검토합니다. (난이도: 하 / 영향: 낮음 / 검증: 권한 테스트)
- 불필요한 일반 사용자의
- 단기 (완화):
- 시스템 모니터링 도구를 통해 커널 메모리(Slab) 사용량을 상시 감시하고, 임계치 초과 시 알람을 설정합니다. (난이도: 하 / 영향: 없음 / 검증: 알람 테스트)
- 근본 (해결):
- 영향받는 커널 버전을 수정 버전으로 업데이트합니다.
- 5.9 ~ 6.1.129 $\rightarrow$ 최신 패치 버전
- 6.2 ~ 6.6.78 $\rightarrow$ 최신 패치 버전
- 6.7 ~ 6.12.14 $\rightarrow$ 최신 패치 버전
- 6.13 ~ 6.13.3 $\rightarrow$ 최신 패치 버전
- (난이도: 중 / 영향: 재부팅 필요로 인한 일시적 서비스 중단 / 검증:
uname -r확인)
- 영향받는 커널 버전을 수정 버전으로 업데이트합니다.
[분석 근거] 본 리포트는 다중 소스 교차검증을 통해 데이터 일관성이 확인되었으며, 실측 EPSS 값(0.00227, 백분위 0.13599)이 매우 낮고 KEV에 등재되지 않았으며 공격 난이도가 'hard'인 점을 근거로 우선순위를 monitor로 결정하였습니다. 이는 이론적 심각도(CVSS 5.5)보다 실제 야생에서의 악용 가능성이 현저히 낮음을 의미합니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00227 · exploit=hard · in_scope=None