Kestrel
CVE-2025-21682DGX_A· 2026년 7월 30일 PM 09:52

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

CVE-2025-21682 allows a local low‑privilege attacker to trigger a null‑dereference in the bnxt driver by detaching XDP, leading to kernel panic and possible confidential data exposure; apply the upstream kernel/bnxt patches immediately and temporarily disable HW‑GRO offload on affected interfaces.

📋 요약

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

🔍 공격 기법

  • 공격 전제

    • 로컬 계정이 존재하고 ip, ethtool 등 네트워크 설정 명령을 실행할 수 있음 (CAP_NET_ADMIN 수준, CVSS PR:L).
    • 시스템에 Broadcom NetXtreme(bnxt) NIC가 장착되어 있고 커널 버전이 4.16‒6.12.11 사이임.
  • 정찰

    • ethtool -i <iface> 로 드라이버 이름을 확인 → “bnxt”.
    • ip link show 로 XDP를 지원하는 인터페이스 목록 열람.
  • 초기 접근·트리거

    1. ip link set dev <iface> xdp obj dummy.bpf.o sec xdp 로 임시 XDP 프로그램을 장착.
    2. 바로 뒤에 ip link set dev <iface> xdp off 로 XDP를 해제.
    • 이 과정에서 bnxt 드라이버는 netdev_update_features() 를 호출하고, HW‑GRO 상태 재계산 로직이 잘못돼 내부 포인터가 NULL 로 남아 null‑dereference 가 발생함.
  • 실행·권한 획득

    • Null‑dereference → 커널 OOPS/패닉 → 시스템 비정상 종료(DoS).
    • OOPS 로그에 커널 주소와 스택 정보가 출력될 경우, 공격자는 이를 수집해 정보 유출(C:H) 이 가능하고, 다른 메모리 손상 취약점과 결합하면 권한 상승으로 이어질 여지가 있음 (CVSS C:H / I:L).
  • 지속·영향

    • 서비스가 반복적으로 패닉에 빠지면 가용성(A:H) 저하와 자동 재부팅 루프 발생.
    • 로그 수집 환경에서 OOPS 정보를 외부로 전송하면 기밀 정보 유출 위험이 확대됨.
  • CVSS ↔ 실제 조건 매핑

    • AV:L → 로컬만 공격 가능, 네트워크 경계 밖에서는 이용 불가.
    • AC:L → 명령 실행 난이도 낮음, 단순 ip link 호출만으로 트리거.
    • PR:L → 일반 사용자 권한(CAP_NET_ADMIN) 정도면 충분.
    • UI:N → 자동화된 스크립트로 무인 실행 가능.

악용 가능성: 이 취약점은 AV:L(로컬), AC:L(낮은 복잡도), PR:L(저권한) 조건만 충족하면 공격이 가능하므로, 동일 머신에 로그인한 일반 사용자라도 ip link set dev <iface> xdp obj … 명령을 실행할 수 있는 경우(예: CAP_NET_ADMIN 권한이 부여된 컨테이너나 제한적 sudo 정책) 바로 활용될 수 있습니다.
공격 표면은 XDP 프로그램의 로드·해제와 그에 연계되는 netdev_update_features() 함수 호출이며, 이 과정에서 드라이버가 HW‑GRO 플래그를 재설정하지 못하고 NULL 포인터를 역참조하게 됩니다.
실제 공격은 XDP 오브젝트를 임의로 교체하거나 해제한 뒤, 시스템이 자동으로 netdev_update_features() 를 호출하도록 트리거(예: 네트워크 인터페이스 재구성, VLAN 추가/삭제 등)하면 발생합니다.
EPSS 0.00217이라는 매우 낮은 실측 위험도와 KEV 미등재는 현재까지 보고된 악용 사례가 거의 없음을 의미하지만, 로컬 권한만으로 조건을 만족할 경우 이론적 난이도가 ‘hard’로 평가되는 이유는 NULL‑dereference 에 의해 커널 패닉이나 서비스 거부(DoS) 수준의 심각한 영향을 즉시 낼 수 있기 때문입니다.
따라서 공격자는 “XDP 프로그램 로드 → 인터페이스 재구성 → netdev_update_features() 호출” 순서를 자동화하거나 스크립트화해, 대상 시스템을 지속적으로 불안정하게 만들 수 있습니다.
이와 같은 흐름은 별도의 권한 상승이나 원격 접근 없이도 로컬 사용자 수준에서 실행 가능하므로, 실제 위협 시나리오에서는 ‘쉽게 재현 가능한 DoS’ 로 평가됩니다.

💥 영향 분석

  • 핵심 위험: bnxt 드라이버의 null‑dereference 로 인한 커널 패닉 → 서비스 거부(DoS).
  • 보조 위험: OOPS 로그에 노출되는 커널 주소·스택 정보가 기밀 데이터(C:H)로 활용될 가능성.
  • 범위: Linux kernel 4.16‒6.12.11 전체, bnxt NIC를 사용하는 모든 서버·컨테이너.

🔗 관련 취약점·체이닝

  • CWE‑476 (Null Pointer Dereference)CWE‑362 (Race Condition) 가 결합돼 재구성 중 경쟁 상태가 발생함.
  • 추정: 동일 환경에서 메모리 손상 기반 권한 상승(CVE)과 연계하면 OOPS → 주소 유출 → 권한 상승 체인이 가능할 수 있음(실제 CVE 번호는 확인되지 않음).

🔎 탐지

  • dmesg·journalctl -k 에 “bnxt: null pointer dereference”, “Oops”, “Kernel panic” 문자열이 기록되는지 실시간 모니터링.
  • auditd 규칙으로 netlink → RTM_NEWLINK(XDP 장착) 및 RTM_DELLINK(XDP 해제) 이벤트를 감시하고, 비정상적인 호출 빈도 변화를 알림.
  • ethtool -k <iface> 출력에서 XDP off 후에도 rx-gro-hw: on 상태가 지속되는 경우 재계산 오류 징후로 기록.

🛡️ 완화 방안

  • 즉시 조치

    1. 배포판이 제공하는 최신 커널/bnxt 패치를 즉시 적용(패치 포함 커밋 98ba1d931f61 이상).
    2. 영향을 받는 인터페이스에 대해 XDP 사용을 금지하고, ethtool -K <iface> gro off 로 HW‑GRO 오프로드를 비활성화 (임시 완화).
  • 장기 대책

    • 시스템 이미지 빌드 단계에서 bnxt → XDP 옵션을 기본 비활성화하고, 보안 업데이트 주기를 최소 30일 이내로 유지.
    • 커널 패닉 발생 시 자동 재부팅을 방지하도록 kernel.panic 값을 조정하고, OOPS 로그를 중앙 SIEM에 연동해 신속 대응.

우선순위 근거: 교차검증 결과 다중 소스에서 동일 취약점이 확인됐으며(보수적 high), EPSS 0.00217(실측 악용 확률 낮음)에도 불구하고 CVSS 7.3·A:H·C:H 로 가용성·기밀성 위험이 크므로 “scheduled (이번 주 내)” 대응을 권고합니다.

⚖️ 위험도 / 우선순위

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

댓글(0)

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

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

로그인하기

불러오는 중…