[공격] 분석 — CVE-2024-58020
A NULL pointer dereference in the Linux kernel HID multitouch driver can lead to a system crash (DoS), requiring kernel updates or restriction of local access to HID devices.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00227 · 악용난이도 hard
🔍 공격 기법
(1) 트리거 조건: mt_input_configured() 함수 내에서 devm_kasprintf()가 메모리 할당 실패로 NULL을 반환할 때, 이에 대한 검증 없이 포인터를 참조하여 커널 패닉(Kernel Panic)을 유발함.
(2) 공격 단계:
- 정찰: 대상 시스템의 커널 버전이 영향 범위(
4.14.326~6.6.79중 특정 구간)에 있는지 확인. - 초기 접근: 로컬 사용자 권한 획득 (AV:L, PR:L).
- 실행: HID 멀티터치 장치를 시뮬레이션하거나 조작하여
mt_input_configured()호출을 유도하고, 시스템 메모리 압박 등을 통해devm_kasprintf()의 NULL 반환 조건을 강제함. - 영향: 커널 공간에서의 NULL pointer dereference로 인한 즉각적인 시스템 크래시(DoS).
(3) 공격 표면:
- 엔드포인트/함수:
drivers/hid/hid-multitouch.c내mt_input_configured()및devm_kasprintf(). - 프로토콜: HID (Human Interface Device) 프로토콜 기반의 멀티터치 입력 장치 인터페이스.
(4) CVSS 벡터 연결:
- AV:L / PR:L: 공격자가 시스템에 로그인한 상태여야 하며, 로컬에서 커널 드라이버와 상호작용할 수 있는 권한이 전제됨.
- AC:L / UI:N: 특별한 설정이나 사용자 상호작용 없이 특정 조건(메모리 부족 등)만 맞으면 트리거 가능함.
악용 가능성: 본 취약점은 AV:L 및 PR:L 조건으로 인해 공격자가 이미 시스템에 로그인한 상태에서 로컬 접근 권한을 가져야만 트리거가 가능하므로 공격 난이도는 Hard로 판정됩니다. 공격 표면은 Linux 커널의 HID(Human Interface Device) 서브시스템 내 mt_input_configured 함수이며, 특히 devm_kasprintf()가 메모리 할당 실패 시 반환하는 NULL 포인터를 검증 없이 참조하는 지점이 핵심 트리거 포인트입니다. EPSS 수치가 0.00227로 매우 낮고 KEV에 등재되지 않은 점은 현재 이 결함을 이용한 자동화된 공격 도구나 실제 야생(In-the-wild) 사례가 드물다는 것을 의미합니다. 그러나 이론적 심각도와 별개로, 로컬 사용자가 커널 공간에서 NULL Pointer Dereference를 유발해 시스템 패닉(DoS)을 일으키거나 특정 메모리 배치 조건 하에서 권한 상승을 시도할 수 있는 잠재적 경로가 존재합니다. 결과적으로 이 취약점은 단독으로 외부에서 침투하는 경로는 없으나, 내부 침입 후 커널 권한을 획득하려는 Post-Exploitation 단계에서 체이닝될 가능성이 있는 로컬 공격 벡터입니다.
💥 영향 분석
(1) 기술적 위험:
- 서비스 중단 (DoS): 커널 패닉으로 인해 시스템이 완전히 정지되며, 재부팅 전까지 모든 서비스 불능 상태가 됨.
- 추정: 단순 Crash 외에 메모리 레이아웃 조작과 결합 시 권한 상승의 발판이 될 가능성이 있으나, 본 CVE 단독으로는 가용성 파괴(A:H)가 주 목적임.
(2) 비즈니스 영향:
- 서비스 가용성 저하: 서버 또는 임베디드 장비의 갑작스러운 다운타임 발생.
- 신뢰도 하락: 시스템 안정성 결여로 인한 운영 신뢰도 저하.
🔗 관련 취약점·체이닝
- 체이닝 경로: 추정: [메모리 압박 유발/Heap Spraying] $\rightarrow$ [
devm_kasprintf()NULL 반환 강제] $\rightarrow$ [NULL Pointer Dereference] $\rightarrow$ [DoS]. - 유형 수준 체이닝:
- 추정: 로컬 권한 상승(LPE) 취약점과 체이닝될 경우, 시스템을 의도적으로 크래시시켜 특정 복구 모드로 진입시키거나 가용성을 파괴하여 보안 솔루션을 무력화하는 시나리오가 가능함.
🔎 탐지
(1) 로그 지표:
- 커널 로그(
dmesg,/var/log/syslog) 내Unable to handle kernel NULL pointer dereference메시지와 함께mt_input_configured함수 호출 스택이 포함된 Kernel Oops/Panic 로그.
(2) 탐지 규칙 예시:
- 로직:
grep -E "NULL pointer dereference.*mt_input_configured" /var/log/kern.log - SIEM 쿼리(의사코드):
SELECT * FROM kernel_logs WHERE message LIKE '%NULL pointer dereference%' AND stack_trace CONTAINS 'mt_input_configured'
(3) 오탐 시나리오 및 튜닝:
- 실제 하드웨어 결함이나 드라이버 버그로 인한 자연 발생적 크래시와 구분이 어려움. 특정 사용자 계정의 세션 시작 직후 또는 비정상적인 HID 장치 연결 이벤트와 시간적 상관관계를 분석하여 튜닝 필요.
🛡️ 완화 방안
- 즉시(긴급 차단): 불필요한 HID 멀티터치 모듈 로드 차단 (
modprobe -r hid_multitouch또는/etc/modprobe.d/에 blacklist 추가). [난이도: 하 / 영향: 터치 입력 장치 사용 불가 / 검증:lsmod | grep hid_multitouch확인] - 단기(완화): 로컬 사용자 권한 제한 및 비정상적인 커널 모듈 상호작용을 감시하는 EDR/HIDS 룰 적용. [난이도: 중 / 영향: 성능 오버헤드 미미 / 검증: 로그 수집 확인]
- 근본(해결): 영향받는 버전에서
mt_input_configured()내 NULL check가 추가된 최신 커널로 업데이트. (예: 6.6.80 이상 또는 각 메이저 버전의 수정 패치 적용). [난이도: 중 / 영향: 재부팅 필요, 가용성 일시 중단 / 검증:uname -r버전 확인]
[파이프라인 근거] 본 분석은 다중 소스 데이터의 일관성이 확인된 신뢰도 1.0의 데이터를 기반으로 합니다. 실측 EPSS(0.00227) 및 백분위(0.13599)가 매우 낮고, AV:L/PR:L 조건 및 KEV 미등재 상태를 고려하여 규칙 기반 우선순위를 'monitor'로 결정하였습니다. 이는 이론적 심각도보다 실제 악용 가능성이 현저히 낮음을 의미합니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00227 · exploit=hard · in_scope=None