[방어] 분석 — CVE-2026-23475
A local NULL-pointer dereference in the SPI driver's statistics allocation allows low-privileged users to trigger a kernel panic, necessitating strict sysfs access control and monitoring for system-wide DoS.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00123 · 악용난이도 hard
🔍 공격 기법
로컬 권한을 가진 사용자가 SPI 컨트롤러가 드라이버 코어에 등록된 직후, 통계(statistics) 메모리가 할당되기 전의 짧은 시간 윈도우(Race Condition window)를 이용해 sysfs 속성에 접근함으로써 NULL-pointer dereference를 유발합니다. 이는 커널 패닉(Kernel Panic)으로 이어져 시스템을 즉시 중단시키는 DoS 공격 경로를 가집니다.
악용 가능성: 본 취약점은 Linux kernel의 SPI 컨트롤러 등록 과정에서 statistics 메모리 할당 전 sysfs 속성에 접근할 때 발생하는 NULL-pointer dereference 기반의 DoS(Denial of Service) 취약점입니다. 공격 벡터가 AV:L로 제한되어 있어, 공격자는 반드시 대상 시스템에 로그인하여 로컬 셸 권한을 가진 상태여야 하며(PR:L), 이는 외부망에서의 직접적인 침투보다는 내부 권한 상승이나 시스템 가용성 파괴를 목적으로 하는 시나리오에 국한됩니다. AC:L과 UI:N 조건은 일단 로컬 접근 권한이 확보되면 사용자 상호작용 없이 특정 엔드포인트에 접근하는 것만으로 트리거가 가능함을 의미합니다. 구체적인 공격 표면은 /sys/class/spi_master 하위의 컨트롤러 관련 sysfs 파일들로, 커널이 컨트롤러를 등록하고 통계 메모리를 할당하기 전의 찰나의 시간(Race Window)에 해당 파라미터를 읽으려 시도하는 것이 트리거 조건입니다. EPSS 수치가 0.00123으로 매우 낮고 KEV에 등재되지 않은 점은 실제 야생(In-the-wild)에서 이 정교한 타이밍 공격이 성공적으로 악용된 사례가 드물음을 시사합니다. 따라서 이론적인 심각도는 존재하나, 로컬 권한 필요성과 극히 짧은 트리거 윈도우로 인해 전체적인 공격 난이도는 'Hard' 수준이며 실제 악용 가능성 또한 낮다고 판단됩니다.
💥 영향 분석
- 가용성 파괴: 커널 패닉으로 인한 시스템 다운 및 재부팅 발생.
- 클러스터 연쇄 장애: 추정: 컨테이너 환경이나 가상화 호스트에서 공유 커널을 사용할 경우, 단일 노드의 패닉이 해당 호스트 위의 모든 워크로드 중단으로 이어져 서비스 SLA에 치명적인 영향을 줄 수 있습니다.
- 권한 제한: CVSS 벡터(
AV:L/PR:L) 및 EPSS(0.00123) 수치 기반으로, 원격 공격이나 권한 상승보다는 로컬 가용성 타격에 집중된 위험입니다.
🔗 관련 취약점·체이닝
- Race Condition: 자원 할당과 등록 순서의 불일치를 이용하는 전형적인 타이밍 공격 패턴입니다.
- LPE 가능성: 추정: 단순 Crash를 넘어 특정 메모리 오프셋 제어가 가능하다면 권한 상승(LPE)으로 체이닝될 가능성이 있으나, 현재 사실 관계상으로는 DoS가 주된 영향입니다.
🔎 탐지
커널 패닉 발생 시 남는 dmesg 및 kmsg 로그의 특정 패턴을 추적하는 것이 핵심입니다.
- 로그 지표:
/var/log/kern.log,/var/log/syslog또는dmesg출력물. - 탐지 패턴:
NULL pointer dereference,Unable to handle kernel NULL pointer dereference,spi관련 함수 호출 스택(Call Stack) 포함 여부. - SIEM 쿼리 예시 (의사코드):
sql1SELECT timestamp, hostname, message2FROM kernel_logs3WHERE (message LIKE '%NULL pointer dereference%' AND message LIKE '%spi%')4 OR (message LIKE '%Kernel panic%')5WINDOWING 5m6THRESHOLD > 0
- 정규식 패턴:
(?i)(Unable to handle kernel NULL pointer dereference.*spi) - 오탐 튜닝: 하드웨어 결함이나 다른 드라이버의 NPE(Null Pointer Exception)와 구분하기 위해 반드시 Call Stack 내에
spi관련 심볼이 포함되었는지 확인해야 합니다.
🛡️ 완화 방안
본 리포트는 다중 소스 교차검증을 통해 데이터 일관성이 확인되었으며, EPSS 0.00123(매우 낮음) 및 CVSS 5.5를 근거로 우선순위를 monitor로 결정하였습니다.
- 즉시 (긴급 차단): SPI 관련 sysfs 경로 접근 제한
- 조치:
chmod또는 ACL을 통해 일반 사용자의/sys/class/spi_*및 관련 통계 경로 접근 권한을 제거합니다. - 난이도: 낮음 / 운영 영향: 낮음 (일반 사용자 앱이 SPI 통계를 읽지 않는 경우) / 검증: 비특권 계정으로 해당 경로
cat시Permission denied확인.
- 조치:
- 단기 (완화): SELinux/AppArmor 정책 적용
- 조치: 특정 프로세스가 커널의 SPI 디바이스 노드 및 sysfs 속성에 접근하는 것을 명시적으로 차단하는 강제 모드(Enforcing) 정책을 배포합니다.
- 난이도: 중간 / 운영 영향: 낮음 / 검증:
audit.log에서 거부(denied) 이벤트 확인.
- 근본 (해결): 커널 업데이트
- 조치: 영향 받는 버전(6.0 ~ 6.19 일부)에서 수정된 최신 커널 버전으로 업그레이드합니다. 통계 할당 로직이 컨트롤러 할당 시점으로 이동된 패치를 적용하십시오.
- 난이도: 높음 / 운영 영향: 높음 (재부팅 필요 및 커널 의존성 검토) / 검증:
uname -r로 버전 확인 및 패치 커밋 반영 여부 검토.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00123 · exploit=hard · in_scope=None