[방어] 분석 — CVE-2025-71085
A local privilege-required integer overflow in the Linux kernel's IPv6 CALIPSO implementation leads to a kernel panic (DoS), requiring immediate disabling of CALIPSO if not essential.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00114 · 악용난이도 hard
🔍 공격 기법
- 원리:
calipso_skbuff_setattr()함수 내에서skb_cow()를 호출할 때, 전달되는headroom값이INT_MAX보다 큰 경우 암시적 정수 형변환(Implicit Integer Cast)이 발생합니다. - 경로: 이 과정에서
delta값이 음수로 계산되어pskb_expand_head()함수에 전달되며, 해당 함수 내의BUG_ON(nhead < 0)조건이 충족됩니다. - 단계: 로컬 권한을 가진 사용자가
netlabelctl과 같은 도구를 이용해 특정 CALIPSO 설정을 구성하고 조작함으로써 커널 패닉을 유도합니다.
악용 가능성: 본 취약점의 공격 난이도는 Hard로 판정되며, 이는 공격자가 시스템에 이미 낮은 권한(PR:L)으로 접근하여 로컬 환경에서 커널 메모리에 직접 영향을 주어야 하는 조건(AV:L) 때문입니다. 공격 표면은 Linux Kernel의 IPv6 스택 내 calipso_skbuff_setattr() 루틴이며, 특히 headroom 파라미터에 INT_MAX를 초과하는 값을 전달하여 정수 오버플로우(Integer Cast)를 유도하는 것이 트리거 조건입니다. 이론적인 심각도는 높으나 EPSS 수치가 0.00114로 매우 낮고 KEV에 등재되지 않은 점은, 실제 야생(In-the-wild)에서 이 정교한 조건을 충족해 악용 사례가 발견된 빈도가 극히 적음을 시사합니다. 하지만 AC:L(공격 복잡도 낮음) 특성상, 일단 로컬 접근 권한을 확보하고 특정 네트워크 패킷 구조를 조작할 수 있는 환경이 갖춰진다면 커널 Oops를 통한 서비스 거부(DoS) 유발 가능성이 상존합니다. 결과적으로 외부망에서의 직접적인 침투보다는 내부 침입 후 권한 상승이나 시스템 마비를 노리는 2차 공격 단계에서 악용될 가능성이 높은 취약점입니다.
💥 영향 분석
- 가용성 상실(DoS): 커널 내
BUG()호출로 인해 시스템이 즉시 중단되는 Kernel Oops/Panic이 발생합니다. - 범위: 로컬 접근 권한(
AV:L)과 낮은 수준의 권한(PR:L)을 가진 사용자가 시스템 전체를 다운시킬 수 있습니다.
🔗 관련 취약점·체이닝
- 유형: Integer Overflow 및 Type Casting 오류입니다.
- 체이닝: 단독으로는 DoS에 그치지만, 다른 권한 상승(Privilege Escalation) 취약점과 결합하여 시스템의 안정성을 해치거나 특정 보안 메커니즘을 무력화하는 수단으로 사용될 가능성이 있습니다.
🔎 탐지
본 취약점은 커널 내부에서 발생하므로 표준 애플리케이션 로그보다는 커널 링 버퍼와 감사 로그를 모니터링해야 합니다.
- 로그 지표:
dmesg또는/var/log/kern.log,/var/log/syslog내의 Kernel Oops 메시지. - 탐지 패턴 (SIEM 의사코드):
sql1SELECT timestamp, hostname, message2FROM kernel_logs3WHERE (message LIKE '%pskb_expand_head%' AND message LIKE '%BUG: %')4 OR (message LIKE '%calipso_skbuff_setattr%')
- 명령어 기반 탐지 (정규식):
dmesg | grep -E "pskb_expand_head|calipso_skbuff_setattr" - 행위 기반 탐지: 일반적인 서버 환경에서
netlabelctl도구가 실행되거나,/proc/net/netlabel설정이 빈번하게 변경되는 행위를 모니터링합니다. - 오탐 튜닝: 정상적인 네트워크 관리자가 CALIPSO 설정을 변경하는 경우 발생할 수 있습니다. 따라서
netlabelctl실행 주체(User ID)와 실행 시간을 화이트리스트화하여 필터링하십시오.
🛡️ 완화 방안
다중 소스 데이터 일관성이 확인되었으며, EPSS 0.00114 및 악용 난이도 'hard'를 근거로 우선순위는 monitor로 결정되었습니다. 하지만 영향 범위가 광범위하므로 다음과 같이 대응합니다.
- 즉시 (긴급 차단): CALIPSO 모듈 비활성화.
- 방법:
modprobe -r calipso또는/etc/modprobe.d/blacklist.conf에blacklist calipso추가. - 난이도: 매우 낮음 / 운영 영향: CALIPSO 기반 IPv6 터널링 사용 시 통신 불가 / 검증:
lsmod | grep calipso결과 없음 확인. (우선순위: 최상)
- 방법:
- 단기 (완화): 권한 제한.
- 방법: 일반 사용자가
netlabelctl및 관련 네트워크 설정 도구를 실행하지 못하도록 권한(setuid 등)을 제거하거나 접근 제어(sudoers)를 강화합니다. - 난이도: 낮음 / 운영 영향: 관리자 외 사용자 불편 발생 가능 / 검증: 비특권 계정에서
netlabelctl실행 시 Permission Denied 확인. (우선순위: 중)
- 방법: 일반 사용자가
- 근본 (해결): 커널 업데이트.
- 방법: 영향받는 버전(4.8.1 ~ 6.18.4 등)에서 해당 취약점이 해결된 최신 커널 버전으로 업그레이드 후 리부팅합니다.
- 난이도: 보통 / 운영 영향: 시스템 리부팅 필요(가용성 일시 중단) / 검증:
uname -r을 통해 패치 버전 적용 확인. (우선순위: 상)
잔여 리스크: 패치 이후에도 유사한 정수 오버플로우 패턴이 다른 네트워크 서브시스템에 존재할 가능성이 있으므로, 커널 수준의 메모리 보호 기법(KASLR 등)을 활성화 상태로 유지하십시오.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00114 · exploit=hard · in_scope=None