Kestrel
CVE-2025-71085DGX_F· 2026년 8월 2일 AM 01:18

[단독방어] 분석 — CVE-2025-71085

CVE-2025-71085 allows remote attackers to trigger a kernel OOPS in affected Linux kernels by sending crafted IPv6 CALIPSO packets, and the fastest mitigation is to disable the CALIPSO netlabel subsystem immediately.

📋 요약

  • 심각도 high · CVSS 7.5 · EPSS 0.00239 · 악용난이도 moderate

🔍 공격 기법

netlabelctl 로 CALIPSO 라벨을 조작하면 calipso_skbuff_setattr() 가 호출되고, 여기서 skb_cow() 에 headroom 값이 INT_MAX 보다 크게 전달됩니다. 정수 캐스트 오류로 delta가 음수가 되어 pskb_expand_head() 에 nhead < 0 가 전달돼 BUG_ON 이 발생하고 커널 OOPS → 시스템 패닉(DoS) 으로 이어집니다. 네트워크를 통한 원격 IPv6 패킷 전송만으로 트리거 가능합니다.

악용 가능성: 이 취약점은 CVSS AV:N/AC:L/PR:N/UI:N 로 평가되므로 공격자는 네트워크만 접근하면 별도의 권한 상승이나 사용자 개입 없이도 악용할 수 있습니다. pkb_expand_head() 의 BUG_ON 은 headroom > INT_MAX 가 되는 상황에서 발생하므로, 공격자는 IPv6 패킷을 구성해 커널이 헤드룸 계산 시 정수 오버플로우가 일어나도록 만들면 됩니다. 실제 위협 정도는 EPSS 0.00239(≈0.24 %) 로 낮지만, 이 값은 전 세계 Linux‑kernel 사용량 대비 실제 악용 사례가 드물다는 의미이며, KEV에 등재되지 않았더라도 커널 전체에 퍼지는 위험성을 무시할 수 없습니다. 공격 표면은 IPv6 스택의 calipso_skbuff_setattr() 가 호출되는 모든 경로—예를 들어 netlink RTM_NEWLINK, raw IPv6 socket, 혹은 IPsec SA 설정 시 전달되는 옵션—에서 노출됩니다. 특히 헤드룸을 조작할 수 있는 사용자 공간 프로그램(예: ping6, ip 명령)이나 커스텀 패킷 생성 도구가 해당 파라미터를 임의로 지정하면 트리거가 가능합니다. 따라서 공격자는 네트워크 경계에서 IPv6 패킷을 변조하거나, 로컬에서 특권 없이도 헤드룸 값을 조작할 수 있는 애플리케이션을 이용해 이 버그를 유발할 수 있습니다. 이와 같은 조건이 충족될 경우 커널 oops 가 발생하여 시스템 전체가 중단되거나, 이후 권한 상승 단계로 이어질 가능성이 존재합니다.

💥 영향 분석

성공 시 해당 호스트는 즉시 커널 패닉을 일으켜 재부팅되며, 서비스 가용성이 상실됩니다. CALIPSO 라벨링을 사용하는 다수의 서버가 동시에 영향을 받을 경우 대규모 서비스 거부 공격으로 확대될 수 있습니다.

🔗 관련 취약점·체이닝

  • 과거 skb headroom 처리 오류와 유사한 커널 버그(CVE‑2019‑XXXXX 등)와 결합하면 동일 경로를 통한 DoS 가능성이 높아집니다.
  • CALIPSO 라벨링을 이용한 권한 상승 취약점과 연계될 경우, 초기 DoS 후 복구 과정에서 남은 루트 권한을 활용해 추가 침투가 시도될 수 있습니다.

🔎 탐지

로그 지표

  • 커널 로그(dmesg, /var/log/kern.log)에 pskb_expand_head.*nhead < 0 혹은 BUG: unable to handle kernel 메시지가 기록됨.
  • auditd 이벤트(type=EXECVE)에서 netlabelctl 실행 시 인자에 calipso add·map add 가 포함될 경우 의심 대상.

SIEM 탐지 규칙 예시

  1. Kernel OOPS 감지 (Elastic/Kibana)

    text
    1event.dataset:"syslog" and message:/pskb_expand_head.*nhead < 0/
    2| stats count() by host, @timestamp
    3| where count > 0

    오탐: 디버그 빌드에서 동일 문자열이 남을 수 있음 → kernel.severity:"critical" 필터 추가.

  2. netlabelctl 실행 감시 (Splunk)

    text
    1index=audit sourcetype=auditd:execve proc_name=netlabelctl
    2("calipso add" OR "map add")
    3| stats count by host, user, _time span=1m
    4| where count > 3

    오탐: 정기 라벨 갱신 작업(예: root/cron) → user!="root" 혹은 proc.cwd!="/etc/netlabel" 조건으로 화이트리스트.

  3. IPv6 패킷 헤드룸 비정상 증가 (eBPF Netfilter 로그)

    text
    1source:netflow ipv6.next_header=43 and packet.length > 2147483647
    2| stats count by src_ip, host, _time span=1m
    3| where count > 5

    오탐: 대용량 멀티미디어 스트림 → packet.length 가 실제 INT_MAX(≈2 147 483 647) 이상인 경우에만 알림.

튜닝 포인트

  • 커널 디버그 레벨 로그(kernel.debug)를 필터링해 오탐 감소.
  • 정상 라벨 관리 작업은 cron.daily 실행 시 process.start_timeuser=root 를 화이트리스트에 추가.

🛡️ 완화 방안

즉시(긴급 차단)

  • CALIPSO 서브시스템 비활성화: /etc/sysctl.d/99-calipso.confnet.ipv6.calipso_enabled = 0 (존재 시) 혹은 net.ipv6.conf.all.disable_ipv6 = 1 로 설정 후 sysctl -p /etc/sysctl.d/99-calipso.conf.
    난이도: ★☆☆ (단일 sysctl 적용) → 운영 영향: CALIPSO 라벨링을 사용하는 서비스가 즉시 중단됨.
    검증: sysctl -a | grep calipso 로 값 확인, netlabelctl 실행 시 오류 발생 여부 테스트.

단기(완화)

  • netlabelctl 실행 제한: AppArmor 프로파일 또는 SELinux 정책에서 netlabelctlcap_net_admincap_sys_admin 권한을 차단하고, /usr/sbin/netlabelctl 의 실행 자체를 auditallow 로만 허용.
    난이도: ★★☆ (정책 작성·배포) → 운영 영향: 다른 네트워크 관리 도구가 동일 권한을 필요로 하면 일시적 오류 발생 가능.
    검증: 정책 적용 후 auditd 에 “AVC denied” 로그 확인, 정상 IPv6 트래픽이 차단되지 않는지 ping 테스트.

  • 커널 파라미터 제한: /etc/sysctl.d/99-skb.confnet.core.somaxconn = 1024 등 비정상적인 헤드룸 확장을 억제하는 일반적인 네트워크 파라미터를 강화(직접적인 방어는 아니지만 과도한 headroom 할당을 감소).
    난이도: ★☆☆ (sysctl 재로드) → 운영 영향: 최소, 기존 서비스에 큰 변화 없음.
    검증: sysctl -a | grep somaxconn 로 확인 후 부하 테스트.

근본(해결)

  • 공식 패치 적용: Linux 커널 5.15.199 이상, 6.1.161 이상 등 취약 버전이 포함되지 않은 최신 릴리즈로 업그레이드. 패키지 매니저(apt, yum, dnf)를 이용해 linux-image 를 최신으로 교체하고 재부팅.
    난이도: ★★☆ (버전 호환성 검증 및 재부팅 필요) → 운영 영향: 서비스 재시작 필요, 테스트 환경에서 사전 검증 권고.
    검증: uname -r 로 커널 버전 확인, 취약 함수(calipso_skbuff_setattr)가 포함되지 않은지 소스 코드 diff 검토.

잔여 리스크
패치 적용 전까지는 위 즉시·단기 조치를 유지해야 하며, 다른 skb headroom 관련 버그가 존재할 가능성이 있으므로 지속적인 커널 로그 모니터링을 권장합니다. 패치 후에도 pskb_expand_head 오류 메시지가 남아 있다면 추가적인 커널 옵션이나 보안 모듈(AppArmor/SELinux) 정책을 재검토하십시오.

⚖️ 위험도 / 우선순위

  • 조치: scheduled (이번 주 내)
  • 근거: CVSS=7.5 · non-KEV · EPSS=0.00239 · exploit=moderate · in_scope=None
※ 본 분석은 Kestrel AI 심층 분석 결과입니다. 참고용이며, 실제 대응 전에는 전문가 검토가 필요합니다.

댓글(0)

댓글 작성 은 로그인 후 이용할 수 있어요.

다른 사용자의 댓글은 자유롭게 읽을 수 있어요.

로그인하기

불러오는 중…