[방어] 분석 — CVE-2025-22107
A memory corruption vulnerability in the Linux kernel sja1105 driver allows local users to trigger out-of-bounds access, requiring immediate restriction of unprivileged access to relevant network interfaces or kernel module loading.
📋 요약
- 심각도 high · CVSS 7.1 · EPSS 0.00196 · 악용난이도 hard
🔍 공격 기법
(1) 트리거 조건: net: dsa: sja1105 드라이버의 sja1105_table_delete_entry() 함수에서 테이블 항목을 삭제할 때, 마지막 요소 삭제 시 불필요한 memmove가 수행되거나 이동해야 할 요소의 개수 계산 오류로 인해 인덱스 범위를 벗어난(Out-of-bounds) 메모리 영역에 접근할 때 발생합니다.
(2) 공격 단계:
- 정찰 및 초기 접근: 로컬 시스템에 대한 일반 사용자 권한(PR:L) 확보.
- 실행:
sja1105드라이버가 사용하는 테이블의 항목 삭제 기능을 유도하는 특정 네트워크 설정 변경 또는 API 호출 시도. - 영향: OOB 접근이 매핑되지 않은 페이지(unmapped page)를 건드릴 경우 커널 패닉 및 시스템 크래시 유발.
(3) 공격 표면:sja1105드라이버가 활성화된 Linux 시스템의 네트워크 인터페이스 설정 및 관련 커널 API.
(4) CVSS 벡터 연결: - AV:L (Local): 로컬 접근 권한이 필요함.
- AC:L (Low): 트리거 조건이 단순함.
- PR:L (Low): 일반 사용자 권한으로 실행 가능함.
- UI:N (None): 사용자 상호작용 불필요.
악용 가능성: 본 취약점의 공격 난이도는 Hard로 판정되며, 이는 AV:L 및 PR:L 벡터가 시사하듯 공격자가 이미 시스템 내부에 낮은 권한(Low Privilege)으로 진입하여 로컬 셸을 확보한 상태여야 함을 전제로 합니다. 공격 표면은 Linux 커널의 net: dsa 서브시스템 내 sja1105_table_delete_entry() 함수이며, 특정 네트워크 스위치 드라이버의 테이블 엔트리 삭제 로직에서 발생하는 Out-of-Bounds(OOB) 접근이 트리거 조건입니다. 이론적으로는 메모리 맵핑되지 않은 페이지에 접근할 경우 커널 패닉(DoS)을 유발할 수 있으나, AC:L임에도 불구하고 실제 악용 가능성은 매우 낮습니다. 이는 EPSS 수치가 0.00196으로 극히 낮고 KEV에 등재되지 않았다는 점이 뒷받침하며, 단순한 KASAN 경고 수준의 메모리 터치 문제로 실질적인 권한 상승이나 코드 실행으로 이어지기 어렵기 때문입니다. 결과적으로 특정 하드웨어 드라이버를 사용하는 환경에서 로컬 권한을 가진 공격자가 정밀하게 트리거해야 하므로 실제 위협 수준은 제한적입니다.
💥 영향 분석
(1) 기술적 위험: Memory-Corruption 유형의 취약점으로, 잘못된 메모리 참조로 인해 시스템 가용성이 즉각적으로 상실되는 Denial of Service(DoS/Kernel Panic)가 발생할 가능성이 높습니다. 추정: 메모리 상태에 따라 제한적인 정보 유출이나 권한 상승의 가능성이 있으나, 리포트상으로는 'touch' 수준의 접근으로 묘사되어 가용성 침해 위험이 가장 지배적입니다.
(2) 비즈니스 영향: 해당 드라이버를 사용하는 네트워크 장비나 서버의 갑작스러운 다운타임 발생으로 인한 서비스 중단 및 운영 신뢰도 저하가 예상됩니다.
🔗 관련 취약점·체이닝
- 유형/패턴: Memory Corruption (CWE-787 등) $\rightarrow$ Kernel Panic 또는 추정: Arbitrary Memory Read/Write.
- 체이닝 패턴: 로컬 권한을 가진 공격자가 이 결함을 통해 커널 메모리 레이아웃 정보를 획득(KASLR 우회)하고, 다른 커널 취약점과 체이닝하여 권한 상승(Privilege Escalation)으로 이어질 수 있는 전형적인 커널 익스플로잇 패턴을 따를 것으로 추정됩니다.
🔎 탐지
(1) 로그 지표:
- Kernel Log (
dmesg,/var/log/kern.log):KASAN: out-of-bounds경고 메시지 또는sja1105_table_delete_entry함수 호출 직후의Kernel Panic / Oops로그.
(2) 탐지 규칙 예시: - Rule 1 (SIEM/Log): 커널 로그에서 특정 드라이버와 OOB 키워드 매칭
Source: /var/log/syslog OR dmesgCondition: message CONTAINS "sja1105" AND (message CONTAINS "out-of-bounds" OR message CONTAINS "KASAN")
- Rule 2 (EDR/Auditd): 비정상적인 네트워크 설정 변경 시도 모니터링 (의사코드)
IF process == "ip" or "ethtool" AND user_privilege == "low" AND target_interface == "sja1105_device" THEN alert
(3) 오탐 튜닝: KASAN은 디버그 모드에서 주로 활성화되므로, 운영 환경에서는Kernel Oops나Panic로그의 Stack Trace 내에sja1105_table_delete_entry함수명이 포함되어 있는지를 확인하여 정확도를 높입니다.
🛡️ 완화 방안
- 즉시(긴급 차단):
- 조치:
sja1105드라이버 모듈 로드 차단 (Blacklist 설정). - 방법:
/etc/modprobe.d/blacklist.conf에blacklist sja1105추가. - 난이도: 낮음 / 운영 영향: 해당 하드웨어 인터페이스 사용 불가 / 검증:
lsmod | grep sja1105결과 없음 확인 / 우선순위: 최상.
- 조치:
- 단기(완화):
- 조치: 일반 사용자의 네트워크 설정 변경 권한 제한 및 커널 파라미터 튜닝.
- 방법:
CAP_NET_ADMIN권한을 가진 계정 외에는 네트워크 인터페이스 수정 불가하도록 설정. - 난이도: 중간 / 운영 영향: 관리자 작업 프로세스 변경 필요 / 검증: 일반 계정에서
ip link set등 명령 실행 시 Permission Denied 확인 / 우선순위: 중.
- 근본(해결):
- 조치: Linux Kernel 6.14.2 이후 버전 또는 해당 수정 사항이 백포팅된 배포판 커널로 업데이트.
- 방법:
yum update kernel또는apt upgrade linux-image-amd64. - 난이도: 중간 / 운영 영향: 시스템 재부팅 필요(가용성 일시 중단) / 검증:
uname -r버전 확인 및 패치 내역 대조 / 우선순위: 상.
[분석 근거]
본 리포트는 다중 소스 데이터의 일관성이 확인된 사실을 바탕으로 작성되었습니다. 실측 EPSS 값은 0.00196(백분위 0.09615)로 매우 낮으며, 이는 현재 실제 야생(Wild)에서의 악용 사례가 거의 없음을 뜻합니다. 따라서 CVSS 점수는 High(7.1)이나, KEV 미등재 및 공격 난이도(Hard)를 고려하여 우선순위를 'Scheduled(이번 주 내)'로 결정하였습니다.
⚖️ 위험도 / 우선순위
- 조치: scheduled (이번 주 내)
- 근거: CVSS=7.1 · non-KEV · EPSS=0.00196 · exploit=hard · in_scope=None