[공격] 분석 — CVE-2024-58058
A Null Pointer Dereference vulnerability in the UBIFS filesystem allows a local user to cause a system crash (DoS) by triggering slab cache clearing, necessitating kernel updates or restricting access to privileged memory operations.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00192 · 악용난이도 hard
🔍 공격 기법
(1) 트리거 조건
- UBIFS 파일시스템이 마운트된 환경에서
slab cache를 강제로 비우는 동작(Clearing slab cache)을 수행. - 이 과정에서 메모리 내 모든
znode가 해제되어c->zroot.znode가NULL이 됨. - 이후 시스템이
tnc tree를 덤프(dumping tnc tree)하려 시도할 때,NULL상태인c->zroot.znode에 접근하며 Null Pointer Dereference 발생.
(2) 공격 단계
- 정찰: 타겟 시스템의 커널 버전 확인 및 UBIFS 파일시스템 사용 여부 식별.
- 초기접근: 로컬 쉘 권한 확보 (CVSS 벡터
AV:L,PR:L근거). - 실행/영향: 특권 권한을 이용하거나 특정 인터페이스를 통해 slab cache 비우기 유도 $\rightarrow$ 커널 패닉(Kernel Panic) 유발 $\rightarrow$ 시스템 가용성 상실.
(3) 공격 표면
- 노출 엔드포인트: Linux Kernel UBIFS 모듈 내
tnc tree덤프 관련 함수 및 slab cache 제어 인터페이스. - 추정:
/proc/sys/vm/drop_caches와 같이 커널 캐시를 강제로 비울 수 있는 메커니즘이 트리거 포인트가 될 가능성이 높음.
(4) CVSS 벡터 분석
AV:L / AC:L: 로컬 접근만으로 가능하며 공격 복잡도는 낮음.PR:L: 최소한의 권한(Low)이 필요함. (단, slab cache 제어는 일반적으로 root 권한이 필요하므로 실제 공격 난이도는 더 높을 수 있음).UI:N / S:U / C:N / I:N / A:H: 사용자 상호작용 없이 시스템 가용성(Availability)에 치명적인 영향(High)을 줌.
악용 가능성: 본 취약점은 AV:L/PR:L 조건에 따라 이미 시스템에 로그인한 권한을 가진 로컬 사용자가 트리거할 수 있는 Null Pointer Dereference 결함입니다. 공격 표면은 Linux 커널의 UBIFS 파일시스템 인터페이스이며, 구체적으로는 Slab Cache를 강제로 비워 c->zroot.znode를 NULL로 만든 후 TNC Tree 덤프 기능을 호출하는 지점이 트리거 포인트가 됩니다. 다만 EPSS 수치가 0.00192로 매우 낮고 KEV에 등재되지 않은 점은, 이 취약점을 단독으로 사용하여 원격에서 침투하거나 즉각적인 권한 상승을 이뤄내기에는 실전 제약이 많음을 시사합니다. 공격 난이도가 hard인 이유는 단순히 커널 패닉(DoS)을 일으키는 것을 넘어, 이를 실제 실행 권한 획득으로 연결하려면 메모리 레이아웃을 정밀하게 제어하는 추가적인 Heap Spraying이나 다른 커널 취약점과의 체이닝이 필수적이기 때문입니다. 결과적으로 이론적 심각도보다 실전 악용 가능성은 낮으나, 로컬 공격자가 시스템 가용성을 파괴하거나 권한 상승의 징검다리로 활용할 수 있는 잠재적 경로를 제공합니다.
💥 영향 분석
(1) 기술적 위험
- 서비스 중단 (Denial of Service): 커널 레벨의 Null Pointer Dereference로 인해 즉각적인 시스템 크래시 및 재부팅 발생.
- 데이터 무결성: 비정상 종료로 인한 파일시스템 쓰기 작업 중단 및 잠재적 데이터 손실 가능성.
(2) 비즈니스 영향
- 가용성 저하: 임베디드 기기나 스토리지 서버 등 UBIFS를 사용하는 시스템의 서비스 중단으로 인한 운영 손실.
- 신뢰도 하락: 커널 패닉으로 인한 예기치 못한 다운타임 발생.
🔗 관련 취약점·체이닝
- 체이닝 경로:
로컬 권한 획득$\rightarrow$커널 메모리 관리 결함(CVE-2024-58058)$\rightarrow$시스템 가용성 파괴. - 추정: 본 취약점은 단독으로 권한 상승을 일으키지는 않으나, 다른 커널 취약점과 체이닝될 경우 특정 메모리 상태를 강제(Slab cache clearing)하여 레이스 컨디션이나 Use-After-Free 조건을 정교하게 맞추는 보조 수단으로 활용될 가능성이 있음.
🔎 탐지
(1) 로그 지표
- 커널 로그(
dmesg,/var/log/syslog) 내Null pointer dereference메시지와 함께ubifs관련 함수 호출 스택(Call Stack) 기록 확인.
(2) 탐지 규칙 예시
- 로직:
Slab cache drop명령 실행 직후 커널 패닉 발생 패턴 감시. - SIEM 쿼리 예시 (Pseudo):
SELECT * FROM kernel_logs WHERE message LIKE '%Null pointer dereference%' AND stack_trace LIKE '%ubifs%znode%'
(3) 오탐 시나리오 및 튜닝
- 시스템 관리자가 성능 최적화를 위해 의도적으로 캐시를 비우는 과정에서 발생한 단순 크래시일 수 있음. 실행 주체가
root인지, 혹은 일반 사용자가 권한 상승 후 수행했는지 컨텍스트 확인 필요.
🛡️ 완화 방안
- 즉시(긴급 차단):
/proc/sys/vm/drop_caches등 커널 캐시를 제어할 수 있는 인터페이스에 대한 일반 사용자 접근 제한 (ACL 설정). [난이도: 하 / 영향: 낮음] - 단기(완화): UBIFS 파일시스템을 사용하지 않는 환경이라면 해당 모듈 로드 차단. [난이도: 중 / 영향: 중간]
- 근본(해결): 영향을 받는 커널 버전에서 수정된 최신 버전으로 업데이트 (예: 6.12.14+, 6.6.77+ 등 각 브랜치별 패치 버전 적용). [난이도: 상 / 영향: 재부팅 필요]
[파이프라인 근거]
- 본 분석은 다중 소스에서 일관성이 확인된 데이터를 기반으로 작성되었습니다.
- EPSS 수치(0.00192)와 백분위(0.09192)는 매우 낮으며, 이는 실제 야생(Wild)에서의 악용 사례가 거의 없음을 뜻합니다.
- 따라서 CVSS 점수(5.5)에도 불구하고
AV:L(로컬 공격),exploit=hard,non-KEV조건을 근거로 우선순위를monitor로 결정하였습니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00192 · exploit=hard · in_scope=None