[공격] 분석 — CVE-2025-37959
A vulnerability in
bpf_redirect_peerallows network namespace information leakage due to missing skb scrubbing, requiring kernel updates for affected versions.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00155 · 악용난이도 hard
🔍 공격 기법
(1) 트리거 조건: eBPF 프로그램을 통해 bpf_redirect_peer 함수를 호출하여 패킷을 다른 Network Namespace(netns)의 장치로 리다이렉션할 때 발생함. 이때 skb(socket buffer) 내의 메타데이터가 적절히 제거(scrubbing)되지 않고 그대로 전달되는 결함을 이용함.
(2) 공격 단계:
- 정찰: 타겟 시스템의 커널 버전 및 eBPF 사용 여부, Network Namespace 구성 확인.
- 초기 접근:
CAP_BPF또는CAP_NET_ADMIN권한을 가진 로컬 계정 획득 (AV:L, PR:L 전제). - 실행/권한 획득: 특정 netns에서 생성된 패킷에 특수 메타데이터(예: XFRM extension)를 삽입한 후
bpf_redirect_peer로 다른 netns로 전송. - 영향: 수신 측 netns의 커널 스택이 이전 netns의 잔류 정보를 "오용"하게 하여 패킷 드롭 유도 또는 추정: 비정상적인 상태 전이 유발.
(3) 공격 표면:
- Linux Kernel eBPF 서브시스템 내
bpf_redirect_peer함수. - Network Namespace 간 패킷 이동 경로.
(4) CVSS 벡터 연결:
- AV:L (Local): 로컬 권한이 필요함.
- AC:L (Low): 조건 충족 시 트리거가 단순함.
- PR:L (Low): 일반 사용자 수준의 접근이 아닌, eBPF 로드 권한(Privileged)이 전제됨.
- UI:N (None): 사용자 상호작용 불필요.
악용 가능성: 본 취약점은 AV:L 및 PR:L 조건에 따라, 공격자가 이미 시스템 내부에 저권한 계정으로 진입하여 eBPF 프로그램을 로드할 수 있는 권한을 가진 상태여야 하므로 공격 난이도는 Hard로 판정됩니다. 공격 표면은 Linux 커널의 bpf_redirect_peer 함수이며, 서로 다른 Network Namespace 간에 패킷을 리다이렉트하는 과정에서 skb(socket buffer) 정보가 적절히 제거(Scrubbing)되지 않는 지점이 트리거 포인트입니다. 이를 통해 공격자는 네임스페이스 간 격리 경계를 넘어 이전 단계의 skb 확장 정보나 메타데이터를 오용하여 타 네임스페이스의 네트워크 트래픽을 조작하거나 비정상적인 상태로 유도할 수 있습니다. EPSS 점수가 0.00155로 매우 낮고 KEV에 등재되지 않은 점은 현재 이 취약점을 이용한 자동화된 공격 도구가 보급되지 않았음을 의미하며, 이론적 심각도보다 실전 악용 가능성이 현저히 낮음을 시사합니다. 결과적으로 본 취약점은 단독으로 시스템을 장악하기보다는, 특정 네트워크 가상화 환경(예: Cilium 등)에서 패킷 드롭을 유발하는 서비스 거부(DoS)나, 다른 커널 메모리 오염 취약점과 체이닝하여 권한 상승을 꾀하는 보조 수단으로 활용될 가능성이 높습니다.
💥 영향 분석
(1) 기술적 위험:
- 서비스 거부(DoS): 리포트된 사례와 같이 Cilium 환경에서 IPsec 복호화 패킷이 컨테이너 netns로 이동 시 정보 오용으로 인해 트래픽이 드롭됨 (A:H).
- 정보 유출: 한 네임스페이스의
skb정보가 다른 네임스페이스로 노출되어 내부 네트워크 구조나 상태 정보가 유출될 가능성이 있음.
(2) 비즈니스 영향:
- 가용성 저하: Kubernetes/Cilium 기반 인프라에서 특정 네트워크 경로의 트래픽 단절로 인한 서비스 장애 발생.
- 신뢰성 하락: 네임스페이스 간 격리 원칙이 깨짐으로써 멀티테넌시 환경의 보안 경계 약화.
🔗 관련 취약점·체이닝
- 추정: 정보 노출 $\rightarrow$ 권한 상승/우회 체인:
skb에 잔류한 메타데이터가 수신 측 네임스페이스의 커널 함수에서 신뢰할 수 없는 입력값으로 처리될 경우, 추정: 메모리 오염이나 로직 우회로 이어질 가능성이 있음. - 추정: 격리 우회 패턴: Network Namespace 간 완전한 격리가 이루어지지 않는 결함은 일반적으로 'Container Escape' 또는 'Cross-Namespace Attack'의 전 단계로 활용되는 패턴임.
🔎 탐지
(1) 로그 지표: pwru와 같은 커널 추적 도구에서 bpf_redirect_peer 호출 직후 skb->active_extensions 값이 변경되지 않은 채 다른 netns 함수(xfrm4_rcv_cb 등)로 진입하는 패턴.
(2) 탐지 규칙:
- Logic:
IF (function == "bpf_redirect_peer") AND (dest_netns != src_netns) AND (skb_extensions > 0) THEN ALERT - SIEM/Auditd: eBPF 프로그램 로드 및
bpf()시스템 콜 호출 빈도 모니터링.
(3) 오탐 시나리오: 정상적인 네트워크 가상화 솔루션(Cilium 등)의 복잡한 패킷 경로로 인해 발생할 수 있음. 특정 커널 버전과 eBPF 헬퍼 함수 호출 패턴을 조합하여 정교화 필요.
🛡️ 완화 방안
- 즉시 (긴급 차단):
unprivileged_bpf_disabled설정을 통해 비특권 사용자의 eBPF 로드를 제한함. (난이도: 하 / 영향: 일부 모니터링 도구 작동 불가 / 검증:sysctl확인) - 단기 (완화): 취약한 커널 버전에서
bpf_redirect_peer를 사용하는 eBPF 프로그램의 배포를 일시 중단하거나, 네트워크 네임스페이스 간 리다이렉션 설정을 최소화함. (난이도: 중 / 영향: 서비스 기능 제약 가능성 / 검증: BPF 맵 및 프로그램 분석) - 근본 (해결): 영향 받는 버전(5.10~6.14.7 등)에서 패치가 적용된 최신 커널로 업그레이드.
bpf_redirect_peer호출 시skb_scrub_packet이 수행되도록 수정된 버전을 적용해야 함. (난이도: 상 / 영향: 시스템 재부팅 필요 및 가용성 일시 중단 / 검증:uname -r버전 확인)
[분석 근거]
- 교차검증: 다중 소스 데이터 간 일관성이 확인되어 신뢰도 1.0으로 분석함.
- EPSS: 실측값 0.00155(백분위 0.05115)로, 이론적 심각도와 별개로 실제 야생에서의 악용 가능성은 매우 낮은 'hard' 등급임.
- 우선순위 결정: CVSS 5.5 및 non-KEV, 낮은 EPSS 수치를 근거로 즉시 대응보다는 'monitor(모니터링)' 수준으로 우선순위를 설정함.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00155 · exploit=hard · in_scope=None