Kestrel
CVE-2025-68725DGX_E· 2026년 7월 31일 PM 10:48

[단독공격] 분석 — CVE-2025-68725

A local unprivileged process can trigger a kernel‑level DoS by loading a crafted BPF program that emits malformed GSO types, causing the Linux network stack to drop offload features and severely degrade connectivity.

📋 요약

  • 심각도 medium · CVSS 5.5 · EPSS 0.00168 · 악용난이도 hard

🔍 공격 기법

  • 트리거 조건

    • 로컬에서 bpf() 시스템 콜을 이용해 BPF 프로그램을 커널에 로드한다. (CAP_BPF 권한 필요)
    • 프로그램이 bpf_clone_redirect()를 호출하여 패킷을 루프백(lo) 인터페이스로 복제·전송하면서, 테스트 인프라가 스택에 잘못된 GSO type(gso_type 미설정)을 남긴다.
  • 공격 단계

    1. 정찰/초기 접근 – 시스템에 BPF 로드 권한이 있는지 확인한다(capsh --print 등).
    2. 실행 – 위 조건을 만족하는 BPF bytecode을 작성·로드한다.
    3. 권한 획득 – 추가 권한은 필요 없으며, PR:L(낮은 특권)만으로 충분하다.
    4. 지속 – 로드된 BPF 프로그램은 커널에 영구히 존재하므로 재부팅 전까지 지속된다.
    5. 영향 – 패킷이 netif_skb_features()gso_features_check() 경로를 통과할 때 skb_warn_bad_offload()가 발생하고, GSO‑related 기능이 비활성화되어 루프백을 통한 트래픽 전송이 차단된다. 결과적으로 서비스 가용성이 크게 저하(A:H)한다.
  • 공격 표면

    • bpf() 시스템 콜 (로드 API)
    • BPF 프로그램 내부의 bpf_clone_redirect() 호출
    • 루프백(lo) 인터페이스와 GSO 처리 스택
  • CVSS 벡터 ↔ 실제 조건 매핑

    • AV:L → 로컬 실행, 원격 접근 불가
    • AC:L → 복잡도 낮음(단순 BPF bytecode)
    • PR:L → 일반 사용자 권한으로 충분
    • UI:N → 사용자 상호작용 필요 없음

악용 가능성: AV:L 은 로컬에서 커널에 BPF 프로그램을 로드할 수 있는 환경이 전제되어야 함을 의미합니다(예: bpf() 시스템콜이나 /sys/fs/bpf 마운트).
AC:L 은 복잡한 사전 준비가 필요 없으며, 공격자는 단순히 GSO‑type 필드를 비정상값으로 설정하는 BPF 코드를 작성해 로드하기만 하면 됩니다.
PR:L 은 이 단계에서 루트 권한이 요구되지 않으며, 커널 옵션 CONFIG_BPF_SYSCALL 등이 활성화된 경우 일반 사용자도 BPF 프로그램을 제출할 수 있습니다.
UI:N 은 사용자의 추가적인 클릭이나 입력이 전혀 필요하지 않아, 프로그램 로드만으로 트리거가 이루어집니다.
EPSS = 0.00168 은 현재까지 실제 악용 사례가 극히 드물

💥 영향 분석

  • 가용성 파괴: 커널이 GSO 오프로드를 비활성화하면서 루프백을 통한 패킷 흐름이 중단되어, 네트워크 스택을 활용하는 로컬 서비스(예: 컨테이너 브리지, 가상 인터페이스) 전반에 걸쳐 응답 지연·정지가 발생한다.
  • 시스템 안정성 저하: 반복적인 경고(skb_warn_bad_offload)와 오프로드 비활성화가 누적되면 네트워크 처리량이 급감하고, 최악의 경우 커널 패닉으로 이어질 가능성이 있다(공식적으로는 A:H만 보고).

🔗 관련 취약점·체이닝

  • 유형 기반 연계

    • CWE‑20 (입력 검증 오류): GSO type 값이 검증되지 않아 비정상적인 메타데이터가 커널 스택에 삽입된다.
    • CWE‑399 (리소스 관리 오류): 잘못된 오프로드 설정으로 네트워크 리소스가 과도하게 사용·폐기된다.
  • 체이닝 패턴(추정)

    1. BPF 권한 상승 → GSO 변조: 다른 BPF 관련 취약점(CAP_BPF 우회 등)이 존재한다면, 낮은 특권 사용자도 CAP_BPF를 획득해 이 결함을 이용할 수 있다.
    2. 가용성 공격 → 서비스 거부: 오프로드 비활성화 후, 대량 트래픽을 유발하는 로컬 프로세스와 연계하면 전체 네트워크 스택이 포화되어 DoS 효과가 증폭된다.

🔎 탐지

  • 커널 로그에 반복적으로 나타나는 skb_warn_bad_offload() 메시지(특히 gso_features_check 호출 직후).
  • BPF 프로그램 로드 시 bpf_prog_load 이벤트와 함께 비정상적인 bpf_clone_redirect 파라미터가 기록되는 경우(auditd 규칙 활용).

🛡️ 완화 방안

  • 즉시 조치: 해당 커널 버전(5.6‑6.18.2) 사용 중이라면, sysctl kernel.kptr_restrict=2 등으로 BPF 로드 권한을 최소화하고, 불필요한 BPF 프로그램은 모두 삭제한다.
  • 근본 해결: 배포된 패치를 포함하는 최신 커널(6.18.3 이상) 또는 해당 커밋(121d57af308d)이 적용된 버전으로 업데이트한다.
  • 보조 방어: auditd에 BPF 로드 이벤트와 skb_warn_bad_offload 로그를 감시하는 규칙을 추가하고, 경고 발생 시 자동 알림을 설정한다.

⚖️ 위험도 / 우선순위

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

댓글(0)

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

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

로그인하기

불러오는 중…