[방어] 분석 — CVE-2025-71097
A reference count leak in the Linux kernel's IPv4 error route handling allows a local user to cause resource exhaustion and Denial of Service (DoS), requiring immediate restriction of privileged network configuration commands.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00114 · 악용난이도 hard
🔍 공격 기법
본 취약점은 ipv4 스택에서 nexthop 객체가 삭제될 때, 이를 참조하는 '에러 루트(Error Routes, 예: blackhole)'가 적절히 플러시(fib_table_flush)되지 않아 발생하는 Reference Count Leak입니다.
- 조건: 로컬 권한(
PR:L)을 가진 사용자가 네트워크 네임스페이스 내에서nexthop및 에러 루트를 생성할 수 있어야 함. - 경로:
ip nexthop add$\rightarrow$ip route add blackhole ... nhid [ID]$\rightarrow$ip nexthop del [ID]순으로 실행. - 결과:
nexthop객체가 'dead' 상태임에도 에러 루트가 이를 계속 참조하여, 이후ip link del등을 통해 장치를 제거하려 해도 Usage Count가 0이 되지 않아 커널 내 메모리 및 리소스가 해제되지 않고 누수됨.
악용 가능성: 본 취약점은 Linux kernel의 IPv4 routing stack 내 nexthop object 삭제 시 발생하는 reference count leak으로, 공격 난이도는 Hard로 평가됩니다. CVSS 벡터상 AV:L 및 PR:L 조건이 요구되므로, 공격자는 이미 시스템에 로그인한 상태에서 네트워크 설정 변경 권한(Low privilege)을 보유해야만 트리거가 가능합니다. 공격 표면은 ip nexthop 및 ip route와 같은 네트워킹 인터페이스 제어 파라미터에 국한되며, 특정 조건의 error route(예: blackhole)를 생성하고 삭제하는 정교한 시퀀스가 필요합니다. EPSS 수치가 0.00114로 매우 낮고 KEV에 등재되지 않은 점은, 이론적인 커널 리소스 누수 심각성과 별개로 실제 야생(In-the-wild)에서 자동화된 공격으로 악용될 가능성이 극히 희박함을 시사합니다. 결과적으로 본 취약점은 외부망을 통한 원격 침투보다는 내부 권한을 가진 사용자가 시스템 자원을 고갈시키는 국지적 영향에 그칠 가능성이 높습니다.
💥 영향 분석
- 가용성 저해(DoS): 네트워크 인터페이스 삭제 실패 및 커널 메모리 누수로 인해 시스템 불안정 및 서비스 중단 초래 가능 (
CVSS A:H). - 영향 범위: 다중 소스 데이터 일관성이 확인된 결과, Linux Kernel 5.3.1부터 6.18.4까지 광범위한 버전이 영향을 받음.
🔗 관련 취약점·체이닝
- 리소스 고갈 체이닝: 단일 누수량은 적으나, 루프를 통해 반복적으로
nexthop생성/삭제를 수행할 경우 커널 패닉(Kernel Panic)이나 OOM(Out of Memory) 상태로 유도하는 DoS 공격으로 확장 가능.
🔎 탐지
본 취약점은 커널 내부의 참조 계수 문제이므로 일반적인 애플리케이션 로그에는 남지 않으며, dmesg 및 시스템 콜 모니터링이 핵심입니다.
1. 주요 지표 및 로그 위치
- 커널 로그 (
/var/log/kern.log,dmesg): 네트워크 장치 삭제 시도 중 발생하는 대기 메시지 확인. - 패턴:
unregister_netdevice: waiting for [interface] to become free. Usage count = [N]
2. 탐지 규칙 예시
- SIEM/로그 분석 쿼리 (Pseudo-code):
SELECT timestamp, host, message FROM kernel_logs WHERE message LIKE '%unregister_netdevice: waiting for%to become free%' AND message LIKE '%Usage count = %' - 런타임 모니터링 (Auditd/eBPF):
특정 사용자가 짧은 시간 내에RTM_NEWROUTE및RTM_DELNEXTHOP메시지를 과도하게 생성하는 패턴 감시.- 조건:
(syscall == sendmsg && payload contains RTM_NEWROUTE) AND (syscall == sendmsg && payload contains RTM_DELNEXTHOP)$\rightarrow$ 임계값: 1분 내 100회 이상 발생 시 경고.
- 조건:
3. 오탐 튜닝
- 정상 시나리오: 복잡한 네트워크 토폴로지를 동적으로 변경하는 SDN(Software Defined Networking) 환경이나 컨테이너 오케스트레이션 도구의 정상 동작일 수 있음.
- 튜닝: 특정 관리자 계정/프로세스 ID(PID)를 화이트리스트에 추가하고, 일반 사용자 권한으로 실행된
ip커맨드 조합만 필터링함.
🛡️ 완화 방안
본 리포트는 다중 소스 교차검증 및 실측 EPSS(0.00114) 조회를 통해 우선순위를 monitor로 결정하였습니다. 실제 악용 가능성이 낮고(exploit=hard) 로컬 권한이 필요하기 때문입니다.
1. 즉시 (긴급 차단)
- 조치: 일반 사용자의 네트워크 설정 권한 제한 (
CAP_NET_ADMIN제거). - 난이도/영향: 저 / 낮음 (관리자 외 일반 유저의
ip route,ip nexthop명령 실행 불가 처리). - 검증: 비특권 계정에서
ip nexthop add실행 시Permission denied확인.
2. 단기 (완화)
- 조치: 네트워크 네임스페이스 생성 및 조작 권한을 최소화하도록
sysctl설정 및 컨테이너 런타임 보안 프로필(Seccomp/AppArmor) 강화. - 난이도/영향: 중 / 중간 (특정 애플리케이션의 네트워크 제어 기능에 영향 가능).
- 검증:
unshare -n등을 통한 네임스페이스 생성 권한 테스트.
3. 근본 (해결)
- 조치: 영향을 받는 커널 버전에서 수정된 최신 메인라인 커널로 업데이트 및 재부팅.
- 난이도/영향: 고 / 높음 (커널 업데이트 후 시스템 재부팅 필수, 서비스 다운타임 발생).
- 검증:
uname -r을 통해 패치된 버전 적용 확인.
잔여 리스크: 패치 이후에도 유사한 Reference Count Leak 패턴이 다른 IPv4 경로 처리 로직에 존재할 가능성이 있으므로, 지속적인 커널 로그 모니터링 필요.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00114 · exploit=hard · in_scope=None