[방어] 분석 — CVE-2024-58058
CVE-2024-58058 is a local UBIFS null‑pointer dereference that can crash Linux kernels; the highest‑priority mitigation is to disable UBIFS debug dumping immediately.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00192 · 악용난이도 hard
🔍 공격 기법
- 로컬 사용자가 UBIFS 파일시스템에 마운트된 디바이스에서
debugfs혹은sysfs를 통해 tnc 트리 덤프를 요청하면, 슬래브 캐시 정리 후c->zroot.znode가 NULL 이 된 상태에서ubifs_dump_tnc_tree()가 실행되어 커널이 null‑pointer dereference 로 OOPS 를 발생시킵니다. - 트리거는 특권이 낮은 사용자(
PR:L)가 직접 수행할 수 있으며, UI 요구사항이 없어 자동화된 스크립트로도 재현 가능합니다.
악용 가능성: AV:L(로컬) 벡터는 공격자가 해당 시스템에 직접 접근해야 함을 의미하므로 원격에서 단독으로 이용하기 어렵습니다.
AC:L(낮은 복잡도)은 슬랩 캐시를 해제하는 간단한 파일‑시스템 조작(예: UBIFS 마운트·언마운트, 특정 ioctl)만으로 트리거가 가능함을 나타냅니다.
PR:L(저 privileges) 은 일반 사용자 권한만 있으면 충분히 조건을 만들 수 있음을 의미하고, UI:N은 사용자의 별도 입력 없이 자동화된 흐름으로 진행될 수 있음을 보여줍니다
💥 영향 분석
- 성공적인 악용 시 커널 패닉(오프스)으로 시스템 가용성이 즉시 상실됩니다.
- 파일시스템은 복구 모드에서 마운트를 다시 해야 하며, 서비스 중단 및 데이터 손실 위험이 존재합니다.
- 정보 유출·원격 코드 실행 등 추가적인 피해는 CVSS 벡터(
C:N/I:N/A:H)에 따라 없음으로 평가됩니다.
🔗 관련 취약점·체이닝
- 동일한 UBIFS 디버그 경로를 이용하는 다른 null‑pointer 결함(예: 과거 커널 버전의
ubifs_write_node()오류)과 연계될 수 있습니다. - 로컬 권한 상승을 목표로 하는 CWE‑476 (Null Pointer Dereference) 패턴과 유사하게, 공격자는 먼저 시스템에 낮은 권한 계정을 확보하고 본 취약점을 이용해 서비스 거부를 일으킬 수 있습니다.
🔎 탐지
-
로그 지표
dmesg//var/log/kern.log:"UBIFS: null pointer dereference while dumping TNC tree"혹은"BUG: kernel NULL pointer dereference"와 함께func=ubifs_dump_tnc_tree가 포함된 라인.auditd이벤트:type=SYSCALL이면서exe="/sbin/mount.ubifs"및a0="debugfs"등으로 UBIFS 디버그 파일에 접근 시도 기록.
-
SIEM 탐지 규칙 예시 (Elastic Kibana Lucene 쿼리)
text1index=linux-* AND (2 message:*UBIFS*null*pointer*dereference* OR3 message:*ubifs_dump_tnc_tree*4)- 조건:
kernel.level: "error"또는syslog.severity: "crit"로 제한해 오탐을 감소.
- 조건:
-
정규식 예시 (Splunk)
text1^.*(UBIFS|ubifs_dump_tnc_tree).*(null pointer dereference).*$ -
오탐 튜닝
- 정상적인 UBIFS 디버그 출력(
debugfs: ubifs: mount options) 은 위 패턴에 포함되지 않도록dump라는 키워드가 반드시 함께 있어야 함을 조건에 추가. - 커널 자체 OOPS 로그는 다른 모듈에서도 발생할 수 있으므로,
func=ubifs_dump_tnc_tree필터를 반드시 적용한다.
- 정상적인 UBIFS 디버그 출력(
🛡️ 완화 방안
-
즉시(긴급 차단)
sysctl -w kernel.unprivileged_userns_clone=0로 비특권 사용자의 namespace 생성 제한과 함께,/sys/kernel/debug/ubifs/*에 대한 읽기/쓰기 권한을chmod 600으로 변경해 UBIFS TNC 트리 덤프 기능을 차단한다.- 난이도: ★★☆☆☆ (몇 개의 sysctl 및 파일 퍼미션 명령)
- 운영 영향: UBIFS 디버깅/진단이 불가능해짐(테스트 환경에서만 적용 권장).
- 검증:
dmesg에 해당 OOPS 메시지가 재현되지 않는지 확인.
-
단기(완화)
- 커널 부팅 옵션에
debugfs=off를 추가하거나,/etc/modprobe.d/ubifs.conf
- 커널 부팅 옵션에
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00192 · exploit=hard · in_scope=None