[분석가] 분석 — CVE-2025-37917
A spinlock recursion vulnerability in the Linux kernel's mtk-star-emac driver can lead to a system crash (DoS), requiring updates to affected versions of the Linux kernel.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00166 · 악용난이도 hard
🔍 공격 기법
(1) 트리거 조건: mtk-star-emac 드라이버의 rx/tx poll 과정에서 DMA 인터럽트를 다시 활성화할 때, 기존에 획득한 spinlock을 해제하지 않고 다시 획득하려는 시도가 발생하여 spinlock recursion이 유발됩니다.
(2) 공격 단계:
- 정찰 및 접근: 대상 시스템이 MediaTek MT8365 등 해당 드라이버를 사용하는 하드웨어 기반의 Linux 커널인지 확인합니다. (전제조건: 로컬 권한 획득 또는 특정 네트워크 패킷 유도 가능성)
- 실행: rx/tx poll 루틴을 트리거하는 네트워크 트래픽이나 시스템 호출을 발생시켜 인터럽트 핸들러 내에서
spin_lock재진입을 유도합니다. - 영향: 커널 패닉(Kernel Panic) 및 시스템 중단이 발생하며, 로그에
BUG: spinlock recursion메시지가 기록됩니다.
(3) 공격 표면: MediaTek 기반 이더넷 컨트롤러(mtk-star-emac) 드라이버의 인터럽트 처리 경로입니다.
(4) CVSS 벡터 분석: - AV:L (Local): 로컬 접근 권한이 필요함을 의미합니다.
- AC:L (Low): 공격 복잡도가 낮습니다.
- PR:L (Low): 낮은 수준의 사용자 권한이 필요합니다.
- UI:N (None): 사용자 상호작용이 필요 없습니다.
악용 가능성: 본 취약점은 mtk-star-emac 드라이버 내 RX/TX Poll 과정에서 발생하며, 공격 난이도는 Hard로 평가됩니다. CVSS 벡터 상 AV:L 및 PR:L 조건에 따라, 공격자는 대상 시스템에 이미 낮은 권한의 계정으로 접근하여 로컬 실행 환경을 확보해야만 트리거가 가능합니다. 구체적인 공격 표면은 MediaTek MT8365 등 특정 하드웨어 가속기가 탑재된 Ethernet 컨트롤러의 인터럽트 처리 메커니즘과 DMA 설정 파라미터에 국한됩니다. spin_lock 재귀 호출로 인한 시스템 패닉(Kernel Panic)을 유도하는 DoS 성격의 취약점이나, EPSS 수치가 0.00166으로 매우 낮고 KEV에 등재되지 않은 점은 실제 야생에서의 악용 사례가 미관측되었음을 시사합니다. 따라서 이론적인 심각도보다는 특정 하드웨어 환경과 로컬 접근 권한이라는 까다로운 전제 조건이 충족되어야 하므로, 실제 악용 가능성은 매우 제한적입니다.
💥 영향 분석
(1) 기술적 위험: 시스템 가용성 상실(Denial of Service). spinlock recursion으로 인한 커널 데드락 또는 패닉이 발생하여 대상 호스트가 즉시 중단됩니다. 데이터 유출이나 권한 상승의 근거는 확인되지 않았습니다.
(2) 비즈니스 영향: 해당 드라이버를 사용하는 임베디드 장비나 서버의 서비스 중단으로 인한 가용성 저하가 주된 리스크입니다. 노출 규모는 MediaTek MT8365 등 특정 칩셋을 탑재한 Linux 기반 제품군으로 제한적입니다.
🔗 관련 취약점·체이닝
(1) 유형: Race Condition 및 Lock Management 결함에 해당합니다.
(2) 체이닝 패턴: 추정: 단독으로는 DoS만 유발하지만, 다른 메모리 오염 취약점과 체이닝될 경우 시스템 불안정성을 이용해 특정 보안 메커니즘을 우회하거나 커널 상태를 조작하는 경로로 활용될 가능성이 있습니다.
🔎 탐지
(1) 로그 지표: 커널 링 버퍼(dmesg) 또는 /var/log/syslog 내에 BUG: spinlock recursion on CPU#, mtk_star_handle_irq와 같은 콜 스택(Call trace) 패턴이 남습니다.
(2) 탐지 규칙 예시:
- 로직:
dmesg로그에서 "spinlock recursion" AND "mtk_star_emac" 문자열 동시 발견 시 경보 발생. - 정규식 예시:
/BUG: spinlock recursion.*mtk_star_handle_irq/
(3) 오탐 시나리오 및 튜닝: 하드웨어 결함이나 다른 드라이버의 충돌로 인해 유사한 커널 패닉이 발생할 수 있습니다.mtk-star-emac모듈 식별자가 포함된 콜 스택만 필터링하여 정밀도를 높입니다.
🛡️ 완화 방안
즉시(긴급 차단):
- 해당 드라이버를 사용하는 인터페이스의 사용을 제한하거나, 불필요한 경우 모듈 언로드(
modprobe -r mtk_star_emac)를 검토합니다. (난이도: 저 / 영향: 네트워크 단절 위험 높음)
단기(완화): - 시스템 모니터링을 통해
spinlock recursion로그 발생 여부를 실시간 감시하고, 장애 발생 시 자동 재부팅 설정을 구성하여 가용성 시간을 최소화합니다. (난이도: 저 / 영향: 성능 영향 없음)
근본(해결): - Linux 커널을 수정 버전으로 업데이트합니다. (
spin_lock$\rightarrow$spin_lock_irqsave,spin_unlock$\rightarrow$spin_unlock_irqrestore로 변경된 패치 적용). 영향 제품 범위인 6.0 ~ 6.14.6 등의 최신 안정 버전으로 업그레이드하십시오. (난이도: 중 / 영향: 커널 업데이트에 따른 재부팅 필요 및 호환성 검증 필수)
분석 근거: 본 리포트는 다중 소스 교차검증을 통해 데이터 일관성이 확인되었으며, EPSS 실측값(0.00166, 백분위 0.0627)과 CVSS 5.5, AV:L 조건을 바탕으로 실제 악용 가능성이 매우 낮음(hard)을 반영하여 우선순위를 'monitor'로 결정하였습니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00166 · exploit=hard · in_scope=None