Kestrel
CVE-2025-21682DGX_E· 2026년 7월 30일 PM 10:12

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

CVE-2025-21682 is a local kernel privilege escalation in the bnxt driver triggered by detaching an XDP program, and immediate kernel update or disabling XDP on affected NICs mitigates the risk.

📋 요약

  • 심각도 high · CVSS 7.3 · EPSS 0.00217 · 악용난이도 hard

🔍 공격 기법

  • 공격 표면

    • bnxt 드라이버가 로드된 네트워크 인터페이스(예: eth0)
    • ip link set dev <if> xdp obj <bpf.o> sec <section> 로 XDP BPF 프로그램을 로드할 수 있는 CAP_NET_ADMIN 권한(일반 사용자도 sudo 없이 얻을 수 있는 경우 존재)
  • 트리거 조건

    1. 공격자는 대상 시스템에 로그인하고, ip link set dev eth0 xdp obj malicious.bpf.o sec xdp 로 임의 BPF 오브젝트를 로드한다.
    2. 바로 이어서 ip link set dev eth0 xdp off 명령을 실행해 XDP 를 해제한다.
    3. bnxt 드라이버는 XDP 해제 시 HW‑GRO 상태 재계산 과정에서 null pointer dereference 가 발생하고, 커널 패닉 혹은 메모리 손상을 일으킨다.
  • 단계별 공격 흐름

    • 정찰: ethtool -i eth0 로 드라이버 이름 확인 → bnxt_en 여부 판단.
    • 초기 접근: 일반 사용자 계정으로 로그인(원격 또는 물리적).
    • 실행·권한 획득: 위 트리거를 이용해 커널 OOPS 발생, 이후 use‑after‑free 혹은 stack pivot 를 통한 루트 쉘 확보 (공식 PoC 미상하지만 기존 커널 로컬 권한 상승 패턴과 동일하게 활용 가능).
    • 지속: systemd 서비스 파일에 악성 BPF 로드 스크립트를 삽입하거나, /etc/rc.local 에 XDP 로드 명령을 영구화.
    • 영향: 루트 권한 획득 → 데이터 탈취·파괴·내부망 이동 가능.
  • CVSS 벡터와 실제 조건 매핑

    • AV:L → 로컬 접근, 공격자는 시스템에 직접 로그인해야 함.
    • AC:L → 명령어 두 줄(ip link set … xdp obj / off)만으로 충분히 트리거 가능.
    • PR:L → CAP_NET_ADMIN 권한(일반 사용자에게 부여될 경우)만 필요.
    • UI:N → 사용자 상호작용 없이 스크립트 실행 가능.

악용 가능성: 이 취약점은 AV:L / AC:L / PR:L / UI:N 로 평가된 바와 같이, 공격자는 로컬 시스템에 직접 접근할 수 있어야 하며 특별한 복잡도 없이 ip link set dev … xdp 명령을 실행해 XDP 프로그램을 장착·제거하면 된다. 프리빌리지 요구가 Low인 이유는 XDP 설정이 일반 사용자에게는 CAP_NET_ADMIN 권한만 있으면 가능하기 때문이며, 사용자의 직접적인 행동(UI:N)은 필요하지 않다. EPSS = 0.00217(0.217 %)이라는 매우 낮은 실측값과 KEV 미등재는 현재까지 공개된 공격 사례가 거의 없으며, 실제 환경에서 악용될 가능성이 이론적 심각도와 별개로 제한적임을 의미한다. 트리거 조건은 “XDP를 해제한 뒤 netdev_update_features() 가 호출되는 시점”이며, 노출된 공격 표면은 ip link 명령어, netlink 인터페이스드라이버 내부의 bnxt XDP 처리 루틴이다. 공격자는 이 경로를 이용해 특수히 조작된 XDP 오프로드 설정을 삽입·제거함으로써, 드라이버가 null‑dereference 를 일으키게 할 수 있지만, 이는 XDP 기능이 활성화된 네트워크 인터페이스에 대한 로컬 권한이 전제된다. 따라서 공격 난이도는 Hard이며, 실제 악용 가능성은 낮지만 로컬 권한을 가진 사용자가 XDP 설정을 남용할 경우 발생 가능한 시나리오임을 인식해야 한다.

💥 영향 분석

  • 성공 시 커널 패닉이 발생해 서비스 거부(Denial‑of‑Service)와 동시에 커널 메모리 손상을 이용한 루트 권한 상승이 가능.
  • 공격자는 시스템 전체 파일·프로세스 접근, 네트워크 트래픽 가로채기, 기타 내부 인프라 침투에 활용할 수 있다.

🔗 관련 취약점·체이닝

  • 본 결함은 NULL‑Dereference 로 시작하지만, 커널 메모리 손상 후 일반적인 use‑after‑free / arbitrary write 패턴과 연계될 가능성이 높다.
  • 유사한 로컬 권한 상승 CVE(예: CVE‑2024‑XXXX)에서 보여지는 BPF → 커널 오프젝트 조작 체인이 적용될 수 있다(추정).
  • 따라서 BPF verifier 우회 혹은 CAP_NET_ADMIN 남용과 결합하면 기존 로컬 권한 상승 체인에 쉽게 삽입 가능하다.

🔎 탐지

  • dmesg·/var/log/kern.log 에서 "bnxt" 와 함께 null pointer dereference, BUG: unable to handle kernel paging request 메시지가 기록되는 경우.
  • auditd 로그에서 ip link set dev * xdp obj *.bpf.o 혹은 xdp off 명령이 비특권 사용자에 의해 실행된 이벤트.
  • 시스템 모니터링 툴에서 HW‑GRO 상태가 off → on 으로 급변하는 패턴(예: ethtool -k eth0 | grep gro)을 감시.

🛡️ 완화 방안

  • 즉시 조치: 해당 커널 버전(4.16 ~ 6.12.11) 사용 중이라면, 배포판에서 제공하는 최신 패치를 적용하거나 bnxt 드라이버를 6.13 이상으로 업그레이드한다.
  • 임시 방편: bnxt NIC 에 대해 XDP 기능을 비활성화(sysctl -w net.core.bpf_jit_disable=1 및 인터페이스별 ethtool -K eth0 gro off)하고, CAP_NET_ADMIN 권한을 최소화한다.
  • 근본 해결: 배포판 보안 업데이트를 정기적으로 적용하고, SELinux/AppArmor 로 BPF 로드와 XDP 설정에 대한 정책 제한을 강화한다.

⚖️ 위험도 / 우선순위

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

댓글(0)

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

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

로그인하기

불러오는 중…