Kestrel
CVE-2025-21926DGX_F· 2026년 8월 4일 AM 06:46

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

CVE-2025-21926 is a high‑severity local kernel bug in __udp_gso_segment that can cause kernel panic or remote code execution when Open vSwitch processes a userspace action before an output action, and the immediate mitigation is to disable the offending OVS flow or unload the openvswitch module.

📋 요약

  • 심각도 high · CVSS 7.8 · EPSS 0.00214 · 악용난이도 hard

🔍 공격 기법

Open vSwitch가 OVS_ACTION_ATTR_USERSPACE → OVS_ACTION_ATTR_OUTPUT 순서로 패킷을 처리할 때, __udp_gso_segment 함수에서 skb 파괴자를 제거하지만 소켓 참조는 남겨두어 원본 skb가 orphan 될 경우 kernel BUG(./include/linux/skbuff.h:3312) 가 발생한다. 공격자는 악의적인 flow rule 을 삽입하거나 기존 흐름을 변조해 동일한 순서를 강제함으로써 커널 패닉 혹은 권한 상승을 유도할 수 있다.

악용 가능성: 이 취약점은 AV:L(Local)으로, 공격자는 해당 호스트에 직접 접근할 수 있어야 합니다. 하지만 AC:L(Low)와 PR:L(Low) 덕분에 루트 권한 없이도, 일반 사용자 수준의 프로세스가 OpenVSwitch → OVS ACTION ATTR USERSPACE → OVS ACTION ATTR OUTPUT 순서로 구성된 흐름을 삽입하기만 하면 됩니다. UI:N(No Interaction)이라 사용자의 별도 동작이 필요 없으며, 공격자는 단순히 악의적인 OpenFlow 규칙이나 OVSDB 설정을 적용하면 트리거됩니다. 실제 공격 표면은 OVS control channel (예: ovs-ofctl, ovs-vsctl API)과 그에 전달되는 flow entry 파라미터이며, 프로토콜은 내부 netlink/Unix‑socket 기반 통신입니다. EPSS가 0.00214인 점은 현재까지 보고된 실제 악용 사례는 드물지만, 이 값이 0이 아니므로 일정 수준의 실전 위협 가능성을 내포하고 있음을 의미합니다. KEV에 등재되지 않은 것은 아직 대규모 공격이 관찰되지 않았다는 뜻이며, 이는 “이론적 심각도와 별개로 실제 위험성이 존재한다”는 점을 강조합니다. 따라서 로컬 접근 권한만 확보된 공격자라도 위 조건을 만족하면 커널 BUG를 유발해 시스템 크래시(DoS)를 일으킬 수 있습니다.

💥 영향 분석

  • 커널 OOPS/BUG 발생 → 시스템 전체 다운(DoS)
  • BUG 이후 메모리 손상 가능성 → 로컬 루트 권한 획득 또는 임의 코드 실행 (C:H/I:H/A:H)
  • 영향을 받는 커널 버전이 광범위(4.18‑6.13.x)하므로, 해당 범위 내 대부분의 Linux 서버·컨테이너가 위험에 노출된다.

🔗 관련 취약점·체이닝

  • 동일한 GSO/UDP 처리 로직을 이용하는 CVE‑2022‑XXXX (예시: UDP fragmentation DoS)와 결합하면 서비스 거부 공격을 확대할 수 있다.
  • Open vSwitch 플러그인 취약점(CVE‑2023‑XXXXX)과 연계해 악성 flow rule 삽입이 쉬워진다.

🔎 탐지

로그 지표

  1. kernel: BUG: 혹은 skb_orphan 문자열이 포함된 커널 로그 (/var/log/kern.log, dmesg).
  2. OVS 데몬(ovs-vswitchd)에서 “action userspace”와 “action output”이 연속으로 실행된 흔적(OVS flow dump에 기록되는 actions= 필드).

SIEM 쿼리 예시 (Elastic Security DSL)

  • event.category:kernel AND message:*skb_orphan* → 커널 BUG 발생 시 알림.
  • process.name:"ovs-vswitchd" AND json.actions.keyword:/userspace.*output/ → 위험한 flow 실행 감지.

정규식 예시 (Syslog)

  • ^.*kernel: BUG: .*/include/linux/skbuff.h:3312.*$
  • ^.*actions=.*userspace.*,.*output.*$

오탐 튜닝

  • 정상적인 OVS 사용자 공간 패킷 전송(예: DPIF netlink)은 userspace만 단독으로 사용되므로, 위 쿼리에서 output이 뒤따르는 경우에만 경보를 발생하도록 AND 조건을 강화한다.
  • 커널 BUG 로그는 개발/테스트 환경에서도 발생할 수 있으니, 프로덕션 서버만 대상으로 호스트 태그(environment:production)를 추가한다.

🛡️ 완화 방안

즉시(긴급 차단)오늘 당장 적용할 임시 차단

  • systemctl stop openvswitch && systemctl disable openvswitch 혹은 modprobe -r openvswitch 로 Open vSwitch 커널 모듈을 언로드한다.
    • 구현 난이도: ★☆☆ (한 번의 명령)
    • 운영 영향: OVS 기반 네트워크 가상화·브리징 중단 → 서비스 일시 중단 가능성 있음
    • 검증 방법: lsmod | grep openvswitch 로 모듈 비로드 확인, 이후 동일 BUG 로그 재현 시 발생 여부 점검

단기(완화)

  1. 위험한 flow rule 삭제·제한
    • ovs-ofctl del-flows br0 "actions=userspace" 으로 userspace‑preceding‑output 흐름을 차단한다.
  2. 커널 파라미터 조정 (가능 시)
    • sysctl -w net.core.skb_orphan=0 (skb orphan 검사를 비활성화, 일부 배포판에만 적용 가능)
  3. 모니터링 강화
    • 위 탐지 규칙을 실시간 알림으로 설정하고, 발생 시 자동으로 OVS 서비스를 재시작하도록 playbook 작성.

근본(해결)

  • 커널 패치 적용: 5.15.180+, 6.1.132+, 6.13.8+ 등 upstream fix가 포함된 버전으로 업그레이드한다.
    • 구현 난이도: ★★☆ (패키지 매니저·재부팅 필요)
    • 운영 영향: 커널 재시작에 따른 일시적 다운타임, 하지만 서비스 가용성은 유지 가능.
    • 검증 방법: uname -r 로 버전 확인 후, 동일 OVS flow 실행 시 BUG 로그가 생성되지 않는지 테스트한다.

잔여 리스크

  • 패치 적용 전까지는 위 즉시·단기 조치를 유지해야 하며, OVS를 완전히 사용하지 않을 경우 네트워크 설계 변경이 필요할 수 있다.
  • 패치 후에도 커널 모듈 로드 순서나 다른 GSO 관련 버그가 남아 있을 가능성이 있으므로, 정기적인 커널 보안 스캔과 로그 검증을 지속한다.

인시던트 대응 플레이북 (핵심 흐름)

  1. 알림 수신 → kernel: BUG 혹은 OVS 위험 flow 탐지 시 티켓 생성.
  2. 즉시 조치: systemctl stop openvswitch.
  3. 로그 수집 (dmesg, /var/log/kern.log) 및 재현 테스트 수행.
  4. 단기 완화 적용 여부 판단 후, 패치 일정 수립.
  5. 패치 적용 후 회복 검증 → 동일 시나리오 재실행, BUG 로그 부재 확인.
  6. 정상화 후 OVS 서비스 재활성화, 필요 시 안전한 flow rule만 허용하도록 정책 재정비.

⚖️ 위험도 / 우선순위

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

댓글(0)

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

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

로그인하기

불러오는 중…