[공격] 분석 — CVE-2025-68773
CVE-2025-68773 is a kernel‑level buffer overrun in the fsl‑cpm SPI driver triggered by odd‑sized transfers, and defenders should monitor for related kernel oops while applying the upstream parity‑check patch or block the driver.
📋 요약
- 심각도 미상 · CVSS 미상 · EPSS 0.00177 · 악용난이도 hard
🔍 공격 기법
- 공격 표면: Linux 커널에 로드된
fsl_cpmSPI 컨트롤러 드라이버. 사용자 공간에서는/dev/spidev*,/sys/bus/spi/devices/*/eeprom등 SPI 디바이스 파일을 통해 접근 가능함. - 전제 조건: 로컬 계정이 해당 SPI 디바이스 노드에
read/write/ioctl권한을 가지고 있어야 함(일반 사용자에게도 열려 있는 경우가 존재). - 정찰:
ls /sys/bus/spi/devices/로 fsl‑cpm 컨트롤러 확인 →cat /sys/bus/spi/devices/*/modalias에서fsl-cpm문자열 검출. - 초기 접근·실행:
ioctl(fd, SPI_IOC_MESSAGE(1), &msg)혹은spi‑memAPI(read/write) 로 전송 길이를 홀수로 설정하고 전송 요청을 수행.- 드라이버는 전송 크기가 짝수인지 검증하지 않고 16 bit 모드로 전환 → 내부 바운스 버퍼(동적 할당, 길이 == 전송 크기) 를 초과해 메모리 복사 발생.
- 권한 획득·지속: 메모리 오버런으로 커널 힙(
slab캐시) 혹은 스택을 손상시키면, KASLR·SMEP/SMAP 등 보안 기능을 우회하는 추가 단계가 필요함(난이도 “hard”). 성공 시root권한 획득 후 루트킷 설치 또는cred구조체 변조 가능. - 관측 지표:
- 커널 로그에
fsl-cpm관련 OOPS,BUG: kernel NULL pointer dereference, 혹은 “odd length” 경고(패치 적용 시). - 비정상적인 SPI ioctl 호출이 연속적으로 발생하고 전송 길이가 짝수가 아닌 경우.
- 커널 로그에
악용 가능성: 이 취약점은 SPI 버스에 대한 전송 길이를 임의로 조작할 수 있는 local 권한(예: CAP_SYS_ADMIN) 또는 커널 모듈 로드 권한이 필요하므로 Attack Vector = Local, Attack Complexity = High, Privileges Required = Low, User Interaction = None 이라는 CVSS 구성에 부합합니다. EPSS 0.00177 이라는 매우 낮은 실측값과 KEV 미등재는 현재까지 실제 공격이 보고되지 않았으며, 악용 시도가 거의 없음을 의미합니다. 트리거 조건은 at25 드라이버가 spi‑mem API를 통해 odd‑sized 전송을 요청할 때이며, 이때 fsl‑cpm SPI 드라이버는 16‑bit 모드 전환 전에 길이 짝수 검증을 누락해 버퍼 오버런이 발생합니다. 공격 표면은 spi‑fsl‑cpm 드라이버와 eeprom 바운스 버퍼 할당 로직이며, 노출되는 엔드포인트는 /ioctl 또는 sysfs 를 통한 SPI 전송 인터페이스, 파라미터는 전송 길이와 모드 플래그입니다. 따라서 공격자는 악의적인 SPI 패킷을 생성해 커널 메모리를 침범하려면, 먼저 해당 장치에 접근할 수 있는 로컬 권한을 확보하고, odd‑length 전송을 강제하는 사용자 공간 프로그램을 실행
💥 영향 분석
- 성공적인 오버런 → 커널 메모리 손상 → 로컬 권한 상승(LPE) 가능성 존재.
- 패치가 적용되지 않은 시스템에서는 서비스 거부(커널 패닉)도 현실적인 위험.
🔗 관련 취약점·체이닝
- 유형: CWE‑119 (Improper Restriction of Operations within the Bounds of a Memory Buffer).
- 가능한 체인:
- 정보 누출 →
/proc/kallsyms등으로 커널 주소 유추 → 버퍼 오버런 → KASLR 우회 → 특권 상승 (예:CVE‑2024‑####와 같은 KASLR bypass 기술과 결합 가능). - 동일 시스템에 존재하는 다른 로컬 권한 상승 취약점(예:
CVE‑2025‑####의ptrace권한 오류) 과 조합 시 익스플로잇 난이도 감소.
- 정보 누출 →
🔎 탐지
- 로그 기반:
dmesg·/var/log/kern.log에서"fsl-cpm"혹은"spi:"와 함께odd length또는oops문자열을 실시간으로 감시. - 감사 이벤트: Linux Audit (
auditctl -a exit,always -F arch=b64 -S ioctl -F dir= >0 -F path=/dev/spidev*) 로 odd‑size SPI ioctl 호출을 캡처. - 행위 기반: SIEM 에서 “SPI transfer length % 2 != 0” 과 같은 규칙을 설정해 비정상적인 패턴을 알림.
🛡️ 완화 방안
- 패치 적용 – 커널 소스에서
commit fc96ec826bce와8ad6249c51d0이후 포함된 길이 짝수 검증 패치를 최신 커널(또는 backport)으로 업데이트. - 드라이버 차단 – 필요하지 않은 경우
/etc/modprobe.d/blacklist.conf에blacklist fsl_cpm추가하고 재부팅. - 접근 제어 –
chmod 660 /dev/spidev*로 권한을 제한하고, SELinux/AppArmor 정책으로 비특권 사용자의 SPI 디바이스 접근을 차단. - 모니터링 – 위 탐지 규칙을 운영 환경에 배포하고, 이상 징후 발생 시 즉시 커널 로그와 프로세스 상태를 조사.
교차 검증 결과 다중 소스에서 일관성을 확인했으며(신뢰도 1.0), EPSS 0.00177·백분위 0.07465 로 실제 악용 가능성은 낮지만 “hard” 등급이 부여돼 모니터링 수준으로 우선순위를 결정했습니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=미상 · non-KEV · EPSS=0.00177 · exploit=hard · in_scope=None