[방어] 분석 — CVE-2024-58011
A NULL pointer dereference in the Linux kernel's int3472 driver can lead to a system crash (DoS), and the priority is set to monitor due to low EPSS and local privilege requirements.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00211 · 악용난이도 hard
🔍 공격 기법
(1) 트리거 조건: int3472 드라이버가 ACPI companion fwnode가 없는 장치에 바인딩될 때 발생합니다. 특히 사용자가 sysfs를 통해 수동으로 드라이버를 다른 i2c/platform 장치에 바인딩하는 경우, adev 변수가 NULL이 되어 skl_int3472_get_acpi_buffer() 함수 내에서 NULL pointer dereference가 유발됩니다.
(2) 공격 단계:
- 정찰: 타겟 시스템의 커널 버전 및
int3472드라이버 로드 여부 확인. - 초기 접근: 시스템에 로그인하여 일반 사용자 권한 획득 (PR:L).
- 실행:
/sys/bus/i2c/drivers/int3472/bind등의sysfs엔드포인트에 ACPI 정보가 없는 장치 ID를 입력하여 강제 바인딩 시도. - 영향: 커널 패닉(Kernel Panic) 발생 및 시스템 중단.
(3) 공격 표면:/sys파일시스템 내의 드라이버 바인딩 인터페이스 (sysfs).
(4) CVSS 벡터 연결:AV:L(로컬 접근 필요),AC:L(공격 복잡도 낮음),PR:L(낮은 수준의 권한 필요),UI:N(사용자 상호작용 불필요). 이는 외부 네트워크 공격이 아닌, 이미 시스템에 진입한 내부 사용자에 의한 가용성 공격임을 의미합니다.
악용 가능성: 본 취약점의 공격 난이도는 Hard로 평가되며, 실제 악용 가능성은 매우 낮습니다. CVSS 벡터 AV:L/PR:L에서 알 수 있듯, 공격자는 이미 시스템 내부에 로컬 계정 권한을 확보한 상태여야 하며 네트워크를 통한 원격 공격은 불가능합니다. 구체적인 트리거 조건은 사용자가 sysfs를 통해 int3472 드라이버를 ACPI companion fwnode가 없는 다른 I2C/platform 장치에 수동으로 바인딩하는 특수한 상황입니다. 공격 표면은 Linux 커널의 특정 하드웨어 드라이버 인터페이스 및 /sys 파일시스템 내의 장치 바인딩 메커니즘으로 한정됩니다. EPSS 수치가 0.00211로 매우 낮고 KEV에 등재되지 않은 점은, 이론적인 NULL pointer dereference 위험에도 불구하고 실제 야생(In-the-wild)에서 이를 악용한 사례가 거의 없음을 시사합니다. 결과적으로 일반적인 운영 환경보다는 특수하게 구성된 하드웨어 제어 권한을 가진 내부 사용자에 의한 시스템 크래시 유발 가능성이 주된 위협입니다.
💥 영향 분석
(1) 기술적 위험: NULL pointer dereference로 인한 커널 패닉 및 시스템 크래시가 발생하며, 결과적으로 서비스 거부(DoS) 상태가 됩니다.
(2) 비즈니스 영향: 서버의 경우 예기치 못한 재부팅으로 인한 가용성 저하 및 서비스 중단이 발생합니다. 다만, 로컬 권한이 필요하고 데이터 유출이나 권한 상승 기능이 없으므로 비즈니스 연속성에 미치는 직접적 피해는 제한적입니다.
🔗 관련 취약점·체이닝
- 추정: 본 취약점은 단독으로 사용될 경우 DoS에 그치지만, 다른 커널 메모리 손상 취약점과 체이닝될 경우 시스템 불안정성을 유도하여 특정 보안 메커니즘을 무력화하거나 race condition을 유발하는 보조 수단으로 활용될 가능성이 있습니다. (패턴: Local DoS $\rightarrow$ System Instability $\rightarrow$ Potential Exploit Window)
🔎 탐지
(1) 로그 지표: 커널 로그(dmesg, /var/log/syslog, journalctl) 내의 Oops 메시지, NULL pointer dereference 문구, 그리고 skl_int3472_get_acpi_buffer 함수 호출 스택이 포함된 Stack Trace.
(2) 탐지 규칙:
- Rule 1 (커널 패닉 로그 탐지):
- Source:
/var/log/kern.logordmesg - Condition:
messagecontains ("NULL pointer dereference"AND"skl_int3472_get_acpi_buffer")
- Source:
- Rule 2 (sysfs 비정상 접근 모니터링):
- Source: Auditd / Linux Audit Log
- Field:
exe,path - Condition:
pathmatches"/sys/bus/i2c/drivers/int3472/bind"ANDuid!= 0 (추정: 일반 사용자의 바인딩 시도 감시)
(3) 오탐 튜닝: 정상적인 드라이버 업데이트나 하드웨어 구성 변경 시 발생하는 로그인지 확인해야 합니다. 특정 관리자 계정이나 자동화 스크립트의 UID를 화이트리스트에 추가하여 필터링합니다.
🛡️ 완화 방안
즉시(긴급 차단):
- 조치:
int3472모듈 언로드 및 블랙리스트 등록 (modprobe -r int3472$\rightarrow$/etc/modprobe.d/blacklist.conf에blacklist int3472추가). - 난이도: 낮음 / 운영 영향: 해당 드라이버를 사용하는 터치패드 등 입력장치 작동 중단 / 검증 방법:
lsmod | grep int3472결과 없음 확인 / 우선순위: 높음(즉시 적용 가능 시).
단기(완화):
- 조치:
/sys파일시스템에 대한 일반 사용자의 쓰기 권한 제한 및 Auditd를 통한 실시간 모니터링 강화. - 난이도: 중간 / 운영 영향: 시스템 관리 작업의 제약 발생 가능 / 검증 방법: 비특권 계정으로
bind파일 쓰기 시도 시Permission denied확인 / 우선순위: 중간.
근본(해결):
- 조치: 영향받는 커널 버전에서 수정된 버전으로 업데이트 (Linux kernel $\ge$ 6.1.129, 6.6.79+, 6.12.15+, 6.13.4+).
- 난이도: 중간 / 운영 영향: 커널 업데이트 후 시스템 재부팅 필요(가용성 일시 중단) / 검증 방법:
uname -r로 버전 확인 / 우선순위: 최상.
분석 근거: 본 리포트는 다중 소스 교차검증을 통해 데이터 일관성이 확인되었습니다. 실측 EPSS 값은 0.00211(백분위 0.11504)로 매우 낮으며, KEV 미등재 및 로컬 권한 필요 조건(AV:L/PR:L)을 고려하여 규칙 기반 우선순위를 'monitor'로 결정하였습니다. 이는 이론적 심각도(CVSS 5.5)보다 실제 악용 가능성이 현저히 낮음을 의미합니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00211 · exploit=hard · in_scope=None