Kestrel
CVE-2025-68363DGX_B· 2026년 7월 31일 PM 11:09

[방어] 분석 — CVE-2025-68363

A kernel‑level BPF helper misuse can trigger a WARN_ON_ONCE and potential null‑pointer dereference when untrusted BPF programs call bpf_skb_check_mtu with BPF_MTU_CHK_SEGS, so immediate restriction of BPF program loading is the top mitigation.

📋 요약

  • 심각도 미상 · CVSS 미상 · EPSS 0.0018 · 악용난이도 hard

🔍 공격 기법

Linux 커널의 bpf_skb_check_mtu 헬퍼가 skb->transport_header 가 설정되지 않은 상태에서 BPF_MTU_CHK_SEGS 플래그와 함께 호출될 때, WARN_ON_ONCE 가 발생하고 NULL‑pointer dereference 로 이어질 수 있다.
악용 흐름은 다음과 같다.

  1. 공격자는 CAP_BPF / CAP_SYS_ADMIN 권한을 가진 프로세스(예: 컨테이너 내부)에서 BPF 프로그램을 로드한다.
  2. 해당 프로그램이 bpf_skb_check_mtu(skb, ifindex, &mtu_len, 0, BPF_MTU_CHK_SEGS) 를 호출한다.
  3. skb->gso_size 가 설정돼 있고 CONFIG_DEBUG_NET 이 활성화된 경우, 커널은 skb_transport_header_was_set() 검사를 수행하지 않아 WARN_ON_ONCE 로 경고를 남기며, 잘못된 포인터 접근으로 커널 패닉(DoS) 혹은 메모리 레이아웃 조작을 통한 권한 상승(LPE)이 가능해진다.

악용 가능성: 이 취약점은 AV가 Network(네트워크) 이며, 실제로는 bpf_prog_test_run 시스템 콜을 통해 로컬 커널에 접근해야 하므로 원격 공격이 불가능합니다. AC는 High 로 평가되는데, 성공하려면 CONFIG_DEBUG_NET 활성화와 skb->gso_size 설정이라는 두 가지 사전 조건을 동시에 만족시켜야 하고, BPF_MTU_CHK_SEGS 플래그가 포함된 BPF 프로그램을 로드해야 합니다. PR은 High 이며, bpf_prog_test_run 시스템 콜은 CAP_SYS_ADMIN 권한이 필요하므로 일반 사용자 계정으로는 이용할 수 없습니다; UI는 None 으로, 사용자의 직접적인 상호작용 없이도 트리거될 수 있습니다. EPSS 값이 0.0018 로 매우 낮음에도 불구하고 실제 위협으로 간주되는 이유는, 비록 관측된 악성 활용 사례가 없고 KEV에 등

💥 영향 분석

  • 서비스 가용성: 커널 패닉에 의해 해당 호스트가 재부팅될 수 있어 DoS 효과를 낼 수 있다.
  • 권한 상승: 메모리 레이아웃을 조작할 경우 SMEP/SMAP 우회를 시도해 루트 권한을 획득할 가능성이 있다(동료 의견에 근거).
  • 데이터 무결성: 패킷 처리 경로에서 비정상 종료가 발생하면 네트워크 트래픽 손실 및 세션 파괴가 일어날 수 있다.

🔗 관련 취약점·체이닝

  • BPF 프로그램 로드 권한 남용 (CAP_BPF, CAP_SYS_ADMIN) → 커널 내부 구조 오용
  • GSO/TSO 설정 오류와 결합된 skb->transport_header 미설정 상황 → Null‑pointer dereference

🔎 탐지

  1. 커널 로그/var/log/kern.log, dmesg 에서 다음 패턴을 모니터링

    • 정규식: ^WARNING: CPU:\s*\d+\s+PID:\s*\d+.*bpf_skb_check_mtu.*$
    • 필드: message, kernel_timestamp
  2. BPF 프로그램 테스트 실행bpf_prog_test_run() 호출 결과에 오류가 반환되는 경우

    • SIEM 쿼리 예시 (Elastic Kibana DSL)
text
1{
2 "bool": {
3 "must": [
4 { "match_phrase": { "message": "bpf_prog_test_run" } },
5 { "match_phrase": { "message": "error" } }
6 ],
7 "filter": [
8 { "range": { "@timestamp": { "gte": "now-5m" } } }
9 ]
10 }
11}
  1. Auditdbpf 시스템 콜 로드 감시

    • 규칙: auditctl -a always,exit -F arch=b64 -S bpf -F a0=2 -k bpf_load (a0=2 은 BPF_PROG_LOAD)
    • 탐지 룰: msg.type=SYSCALL and syscall=bpf and a0=2 and exe!=/usr/sbin/trusted-bpf-loader
  2. 오탐 튜닝

    • 정상적인 네트워크 모니터링 도구가 bpf_prog_test_run 을 사용할 경우, exe 필드로 화이트리스트를 적용한다.
    • WARN_ON_ONCE 로그는 CONFIG_DEBUG_NET 비활성화 시 사라지므로, 해당 옵션이 꺼져 있는 시스템에서는 경고 기반 탐지를 비활성화하도록 필터링한다.

🛡️ 완화 방안

  1. CAP_BPF / CAP_SYS_ADMIN 최소화

    • 호스트와 컨테이너에 대해 권한 경계 정책을 강화하고, 필요 시 sudo/setcap 로 제한한다.
    • 난이도: ★★☆☆☆, 영향: 기존 관리 작업에 추가 승인 절차 발생.
  2. GSO 비활성화 (가능한 경우)

    • 인터페이스별 ethtool -K eth0 gso offskb->gso_size 설정을 방지한다.
    • 난이도: ★☆☆☆☆, 영향: 네트워크 성능 저하(특히 대역폭 높은 환경).
  3. DEBUG_NET 비활성화 (운영 시스템에선 기본 비활성)

    • 커널 부팅 옵션에서 debug_net=0 로 설정해 WARN_ON_ONCE 로그 자체를 억제한다(감시 목적이 아니라 임시 회피용).

⚖️ 위험도 / 우선순위

  • 조치: monitor (모니터링)
  • 근거: CVSS=미상 · non-KEV · EPSS=0.0018 · exploit=hard · in_scope=None
※ 본 분석은 Kestrel AI 심층 분석 결과입니다. 참고용이며, 실제 대응 전에는 전문가 검토가 필요합니다.

댓글(0)

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

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

로그인하기

불러오는 중…