[방어] 분석 — CVE-2024-53170
A Use-After-Free vulnerability in the Linux kernel block layer (CVE-2024-53170) allows local attackers to cause system crashes or privilege escalation, requiring urgent kernel updates or restriction of raw disk access.
📋 요약
- 심각도 high · CVSS 7.8 · EPSS 0.0024 · 악용난이도 hard
🔍 공격 기법
(1) 트리거 조건: del_gendisk 과정에서 QUEUE_FLAG_INIT_DONE 플래그가 제거되지만, 이후 blk_mq_destroy_queue()가 호출될 때 blk_mq_clear_flush_rq_mapping()이 실행되지 않는 로직 결함입니다. 이로 인해 tags->rqs[] 내의 flush rq 매핑이 남게 되어 Use-After-Free(UAF) 상태가 됩니다.
(2) 공격 단계:
- 정찰 및 접근: 이미 시스템에 로그인한 Local User 권한 필요 (PR:L).
- 실행: SCSI 장치 등의 프로브/제거 과정을 반복적으로 트리거하여 메모리 오염 유도.
- 영향:
blk_mq_find_and_get_req함수에서 해제된 메모리에 접근하여 커널 패닉(DoS)을 일으키거나, 추정: 힙 스프레이 등을 통해 실행 흐름을 제어하여 권한 상승 시도.
(3) 공격 표면: Linux Kernel Block Layer (SCSI 장치 관리 인터페이스).
(4) CVSS 벡터 연결:AV:L(로컬 접근 필요),AC:L(공격 복잡도 낮음),PR:L(낮은 수준의 권한 필요),UI:N(사용자 상호작용 불필요). 즉, 일반 사용자 계정을 확보한 공격자가 커널 인터페이스를 통해 직접 트리거하는 구조입니다.
악용 가능성: 본 취약점의 공격 난이도는 Hard로 평가되며, 이는 CVSS 벡터 AV:L과 PR:L에서 알 수 있듯이 공격자가 이미 시스템에 로그인하여 로컬 권한을 획득한 상태여야 함을 전제로 합니다. 공격 표면은 Linux Kernel의 Block Layer(blk-mq) 내 SCSI 장치 프로빙 및 제거 과정에서의 메모리 관리 로직이며, 구체적으로는 del_gendisk 호출 시 QUEUE_FLAG_INIT_DONE 플래그가 해제되어 blk_mq_clear_flush_rq_mapping()이 누락되는 지점이 트리거 조건입니다. 이로 인해 발생하는 Use-After-Free(UAF) 상태를 정밀하게 제어하여 권한 상승이나 커널 패닉을 유도해야 하므로 기술적 난이도가 매우 높습니다. EPSS 수치가 0.0024로 낮고 KEV에 등재되지 않은 점은 현재 야생(In-the-wild)에서 실제 악용 사례가 발견되지 않았음을 시사하며, 이론적 심각도에 비해 실질적인 공격 가능성은 낮은 상태입니다. 다만, Syzkaller와 같은 퍼징 도구를 통해 발견된 메모리 오염 취약점이므로, 로컬 권한을 가진 정교한 공격자가 커널 메모리 레이아웃을 분석할 경우 잠재적인 위협이 될 수 있습니다.
💥 영향 분석
(1) 기술적 위험:
- 시스템 가용성 파괴: KASAN 리포트에서 확인되듯
slab-use-after-free로 인한 Kernel Panic 및 시스템 Crash 발생. - 권한 상승: UAF 취약점 특성상 커널 메모리 구조를 조작하여 Root 권한을 획득할 가능성이 존재함.
(2) 비즈니스 영향: 서버의 갑작스러운 중단으로 인한 서비스 가용성 저하 및 인프라 관리자의 운영 부담 증가.
🔗 관련 취약점·체이닝
- 추정:
Information Leak(커널 주소 유출) $\rightarrow$CVE-2024-53170(UAF를 이용한 제어권 획득) $\rightarrow$Privilege Escalation(Root 권한 획득) 순으로 체이닝될 가능성이 높습니다. - 유형: CWE-416 (Use-After-Free) 패턴의 전형적인 메모리 오염 취약점입니다.
🔎 탐지
(1) 로그 지표: dmesg 또는 /var/log/syslog, /var/log/kern.log 내 커널 덤프 메시지 확인. 특히 BUG: KASAN: slab-use-after-free in blk_mq_find_and_get_req 문자열이 핵심 지표입니다.
(2) 탐지 규칙 예시:
- SIEM/Log 분석 로직:
SELECT timestamp, hostname, message FROM kernel_logs WHERE message MATCHES '.*slab-use-after-free in blk_mq_find_and_get_req.*' - 의사코드 (Runtime Monitoring):
if (log_event.source == "kernel" && log_event.message.contains("blk_mq_find_and_get_req") && log_event.message.contains("UAF")) { alert("Potential CVE-2024-53170 Triggered"); }
(3) 오탐 튜닝: KASAN은 주로 디버그 커널에서 활성화되므로, 운영 환경에서는Kernel Panic이나Oops메시지와 함께blk_mq관련 함수 호출 스택이 나타나는지를 확인하여 정밀도를 높여야 합니다.
🛡️ 완화 방안
- 즉시(긴급 차단):
- 조치: 불필요한 SCSI 장치의 동적 추가/제거 권한 제한 및 일반 사용자의
/dev/내 블록 장치 직접 접근 제어 (udev rule 또는 ACL 적용). - 난이도: 낮음 / 운영 영향: 낮음 / 검증:
ls -l /dev/sd*권한 확인 / 우선순위: 최상.
- 조치: 불필요한 SCSI 장치의 동적 추가/제거 권한 제한 및 일반 사용자의
- 단기(완화):
- 조치: 커널 파라미터 튜닝 또는 모듈 로딩 제한 (필요 없는 블록 디바이스 드라이버 언로드).
- 난이도: 중간 / 운영 영향: 중간(특정 하드웨어 인식 불가 가능성) / 검증:
lsmod확인 / 우선순위: 중.
- 근본(해결):
- 조치: 영향을 받는 버전(
5.19 - 6.11.11,6.12 - 6.12.2)에서 패치가 적용된 최신 커널로 업데이트. - 난이도: 중간 / 운영 영향: 높음(재부팅 필요) / 검증:
uname -r버전 확인 / 우선순위: 상.
- 조치: 영향을 받는 버전(
[파이프라인 근거] 본 분석은 다중 소스 데이터의 일관성이 확인된 결과(신뢰도 1.0)를 바탕으로 작성되었습니다. EPSS 수치가 0.0024로 매우 낮고 KEV에 등재되지 않았으며, 악용 난이도가 'hard'로 평가됨에 따라 우선순위를 scheduled(이번 주 내)로 결정하였습니다. 이는 이론적 심각도(CVSS 7.8)보다 실제 야생에서의 악용 가능성이 낮음을 의미합니다.
⚖️ 위험도 / 우선순위
- 조치: scheduled (이번 주 내)
- 근거: CVSS=7.8 · non-KEV · EPSS=0.0024 · exploit=hard · in_scope=None