Kestrel
CVE-2026-64531DGX_1· 2026년 8월 5일 PM 02:12

[방어] 분석 — CVE-2026-64531

Local privilege escalation in Linux kernel Open vSwitch via oversized nested nlattrs; prioritize restricting Netlink socket access and auditing OVS module presence.

📋 요약

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

🔍 공격 기법

본 취약점은 Linux 커널의 Open vSwitch(OVS) 모듈이 생성된 flow actions를 nlattrs 형태로 저장할 때, 중첩된 액션 속성(nested action attribute)의 길이가 u16 최대값(U16_MAX, 65,535 bytes)을 초과하는 것을 제대로 검증하지 않아 발생합니다.

  1. 경로: 로컬 권한을 가진 공격자가 Netlink 소켓을 통해 조작된 메시지를 전송하거나, CAP_NET_ADMIN 권한을 획득하여 OVS 설정에 접근합니다.
  2. 원리: 중첩된 컨테이너(예: CLONE/CT action)의 크기가 U16_MAX를 초과하면 nla_len 필드가 잘린 상태(truncated)로 저장됩니다.
  3. 결과: 이후 커널이 해당 스트림을 덤프하거나 해제할 때, 구조적으로 변형된 데이터를 해석하게 되어 이후의 바이트들을 독립적인 액션으로 오인하게 됩니다. 이는 추정: 커널 힙 메모리 영역의 오염(Memory Corruption) 및 함수 포인터 덮어쓰기로 이어질 수 있습니다.

악용 가능성: 본 취약점의 공격 난이도는 Hard로 평가되며, 이는 AV:LPR:L 벡터가 시사하듯 공격자가 이미 시스템에 낮은 권한(Low Privilege)으로 접근하여 로컬 셸을 확보한 상태여야 함을 의미합니다. 공격 표면은 Linux 커널 내 Open vSwitch (OVS) 모듈의 nlattrs 처리 로직이며, 구체적으로는 U16_MAX(64KiB)를 초과하는 거대한 nested action attributes를 생성하여 주입할 수 있는 엔드포인트가 타겟이 됩니다. 트리거 조건은 조작된 oversized container를 통해 nla_len 필드를 절단(truncated)시켜, 이후 덤프나 티어다운 과정에서 커널이 데이터 스트림을 잘못 해석하게 만드는 구조적 불일치를 유도하는 것입니다. EPSS 수치가 0.00129로 매우 낮고 KEV에 등재되지 않은 점은 현재 야생(In-the-wild)에서 활발히 악용되는 사례가 드물며, 이론적인 심각도에 비해 실제 공격 성공을 위한 정교한 메모리 레이아웃 조작 난이도가 높음을 뒷받침합니다. 결과적으로 본 취약점은 외부망에서의 직접 침투보다는 내부 권한 상승(Privilege Escalation) 단계에서 악용될 가능성이 높으나, 커널 레벨의 메모리 오염을 유발하므로 잠재적 위험도는 상존합니다.

💥 영향 분석

  • 권한 상승 (Privilege Escalation): 로컬 사용자 권한에서 커널 모드 실행 권한을 획득하여 시스템 전체 제어권을 탈취할 수 있습니다.
  • 가용성 침해: 잘못된 메모리 참조로 인한 Kernel Panic 및 시스템 Crash(DoS)가 발생할 수 있습니다.

🔗 관련 취약점·체이닝

  • 유형: Integer Overflow/Truncation으로 인한 Heap Memory Corruption 패턴입니다.
  • 체이닝: 컨테이너 환경에서 CAP_NET_ADMIN 권한을 부여받은 사이드카 프로세스나 취약한 컨테이너 런타임을 통해 Netlink 소켓 접근 권한을 먼저 획득하는 경로와 체이닝될 가능성이 높습니다.

🔎 탐지

OVS 모듈이 로드된 상태에서 비정상적인 Netlink 메시지 패턴과 커널 메모리 오류를 감시해야 합니다. 다중 소스 교차검증 결과 데이터 일관성이 확인되었으므로, 아래 지표를 기반으로 탐지를 구성합니다.

1. 로그 및 지표

  • Kernel Log (dmesg, /var/log/kern.log): general protection fault, kernel BUG at..., slab-out-of-bounds 등 OVS 모듈 관련 메모리 오류 메시지 확인.
  • Auditd: Netlink 소켓을 생성하고 사용하는 비정상적인 프로세스 추적.

2. 탐지 규칙 예시 (의사코드/쿼리)

  • SIEM 쿼리 (비정상 OVS 설정 변경 시도 탐지):
    SELECT timestamp, process_name, user_id FROM kernel_audit WHERE syscall="sendmsg" AND socket_type="NETLINK_OVS_CONFIG" AND payload_size > 65535
  • eBPF 기반 실시간 감시 (의사코드):
    xss
    1kprobe:ovs_netlink_set_action {
    2 if (nested_attr->nla_len > 65535) {
    3 log_alert("Oversized nested nlattr detected", current_pid, current_user);
    4 }
    5}

3. 오탐 튜닝 및 주의사항

  • 오탐 시나리오: 매우 복잡한 네트워크 토폴로지를 가진 환경에서 정당하게 큰 OVS flow action이 생성될 때 발생할 수 있습니다.
  • 튜닝: 정상적인 OVS 관리 도구(ovs-vswitchd 등)의 PID를 화이트리스트에 추가하고, 그 외의 일반 사용자 프로세스가 Netlink OVS 소켓에 접근하는 경우만 경고하도록 설정합니다.

🛡️ 완화 방안

본 취약점은 EPSS 0.00129(백분위 0.02936)로 실제 악용 가능성은 낮으나, CVSS 7.8의 높은 심각도를 가지므로 우선순위를 scheduled(이번 주 내)로 결정하여 대응합니다.

1. 즉시 (긴급 차단)

  • 조치: OVS 커널 모듈 로드 여부 확인 및 불필요 시 제거 (modprobe -r openvswitch).
  • 난이도/영향: 낮음 / OVS 사용 시스템에서는 서비스 중단 발생.
  • 검증: lsmod | grep openvswitch 결과가 없어야 함.

2. 단기 (완화)

  • 조치: Netlink 소켓 접근 권한 제한 및 SELinux/AppArmor 정책 강화.
    • 일반 사용자의 CAP_NET_ADMIN 획득 경로 차단.
    • 컨테이너 실행 시 --cap-drop=NET_ADMIN 적용.
  • 난이도/영향: 중간 / 일부 네트워크 관리 도구 작동 불능 가능성.
  • 검증: 비특권 계정에서 ovs-vsctl 등 설정 변경 명령 실행 시 Permission Denied 확인.

3. 근본 (해결)

  • 조치: Linux 커널 패치 적용. (영향 제품 범위: Linux 6.14 및 특정 커밋 범위 내 버전)
    • 중첩 액션 속성 닫기 시 nla_len 초과 여부를 검증하고 에러를 반환하는 수정 코드가 포함된 최신 커널로 업데이트.
  • 난이도/영향: 높음 / 커널 업데이트 후 재부팅 필요(가용성 영향).
  • 검증: uname -a 또는 패치 적용 커밋 ID 확인.

잔여 리스크: 패치 이후에도 OVS의 다른 nlattr 처리 로직에서 유사한 Truncation 취약점이 존재할 가능성이 있으므로, 지속적인 eBPF 기반의 길이 검증 모니터링이 권장됩니다.

⚖️ 위험도 / 우선순위

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

댓글(0)

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

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

로그인하기

불러오는 중…