[분석가] 분석 — CVE-2025-37959
A vulnerability in the Linux kernel's
bpf_redirect_peerfunction allows unscrubbedskbinformation to be misused across network namespaces, requiring a kernel update to prevent potential availability issues.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00155 · 악용난이도 hard
🔍 공격 기법
- 트리거 조건: BPF 프로그램에서
bpf_redirect_peer를 사용하여 패킷을 다른 네트워크 네임스페이스(Network Namespace)에 속한 장치로 리다이렉션할 때,skb(socket buffer) 정보가 적절히 세척(Scrubbing)되지 않는 결함을 이용합니다. - 공격 단계:
- 초기 접근: 공격자는 시스템 내에서 BPF 프로그램을 로드하고 실행할 수 있는 권한(
CAP_BPF또는CAP_NET_ADMIN)을 확보해야 합니다. (전제조건: Local Privilege) - 실행: 특정 네트워크 네임스페이스에서 다른 네임스페이스로 패킷을 리다이렉션하는 BPF 코드를 실행합니다.
- 영향: 세척되지 않은
skb확장 정보가 대상 네임스페이스로 전달되어, 해당 네임스페이스의 네트워크 스택에서 이를 오인하거나 잘못 처리하게 만듭니다. (관측 지표: 특정 네트워크 경로에서의 패킷 드롭 증가)
- 초기 접근: 공격자는 시스템 내에서 BPF 프로그램을 로드하고 실행할 수 있는 권한(
- 공격 표면: Linux Kernel의 BPF 서브시스템 및
bpf_redirect_peer헬퍼 함수. - CVSS 벡터 분석:
AV:L: 로컬 접근이 필요합니다.PR:L: 낮은 수준의 권한(Low privilege)이 필요합니다.UI:N: 사용자 상호작용이 필요 없습니다.S:U/C:N/I:N/A:H: 기밀성·무결성 영향은 없으나, 가용성(A:H)에 높은 영향을 줍니다.
악용 가능성: 본 취약점은 Linux kernel의 bpf_redirect_peer 함수에서 패킷을 다른 network namespace로 리다이렉트할 때 skb(socket buffer) 정보가 적절히 제거(scrubbing)되지 않아 발생하는 문제입니다. 공격 난이도는 Hard로 평가되며, 이는 CVSS 벡터 상 AV:L 및 PR:L 조건에 따라 공격자가 이미 시스템에 접근하여 낮은 권한의 사용자 계정을 보유하고 있어야 함을 의미합니다. 공격 표면은 eBPF 프로그램을 통해 패킷 경로를 제어하는 네트워크 인터페이스 및 namespace 간 리다이렉트 지점으로 제한됩니다. 특히 특정 network namespace에서 다른 namespace로 패킷을 전달하는 과정에서 잔존하는 skb 확장 정보가 트리거 조건이 되어, 타 네임스페이스의 트래픽 드롭이나 비정상 동작을 유발할 수 있습니다. EPSS 수치는 0.00155로 매우 낮고 KEV에 등재되지 않은 점으로 보아, 현재 야생(In-the-wild)에서의 실제 악용 사례는 미관측된 상태입니다. 따라서 이론적인 심각도보다는 특정 네트워크 가상화 환경(예: Cilium 사용 환경)에서 발생할 수 있는 기능적 결함 및 권한 격리 우회 가능성에 초점이 맞춰진 취약점입니다.
💥 영향 분석
- 기술적 위험:
- 서비스 중단(DoS): 세척되지 않은
skb정보로 인해 대상 네임스페이스의 네트워크 스택에서 패킷을 비정상적으로 처리하여 드롭(Drop)시키는 현상이 발생합니다. (예: Cilium 환경에서 IPsec 복호화 후 컨테이너 네임스페이스로 리다이렉션 시 트래픽 유실) - 네임스페이스 격리 약화: 추정: 한 네임스페이스의 정보가 다른 네임스페이스에서 "오용"될 수 있다는 점에서, 논리적 격리 수준이 저하될 가능성이 있습니다.
- 서비스 중단(DoS): 세척되지 않은
- 비즈니스 영향:
- 서비스 가용성 저하: 컨테이너 네트워크 환경(Cilium 등)을 사용하는 인프라에서 특정 트래픽 경로의 통신 불능 상태가 발생하여 서비스 장애로 이어질 수 있습니다.
🔗 관련 취약점·체이닝
- 유형 및 패턴: 본 취약점은 '상태 정보 세척 미흡'으로 인한 논리적 오류에 해당합니다.
- 추정 체이닝: 단독으로는 가용성 저하를 일으키나, 추정: 다른 권한 상승(Privilege Escalation) 취약점과 결합하여 네임스페이스 간의 경계를 우회하거나 비정상적인 네트워크 상태를 유도하는 방식으로 체이닝될 가능성이 있습니다.
🔎 탐지
- 로그 지표:
pwru와 같은 커널 트레이싱 도구에서bpf_redirect_peer호출 전후로skb->active_extensions값이 변하지 않고 유지되면서, 이후 단계(xfrm레이어 등)에서 패킷이 드롭되는 패턴을 확인합니다. - 탐지 규칙 예시:
- 로직:
BPF 프로그램 로드$\rightarrow$bpf_redirect_peer 호출$\rightarrow$대상 네임스페이스 변경$\rightarrow$skb extension 유지 및 패킷 드롭 발생. - 의사코드:
IF (event == BPF_REDIRECT_PEER && source_netns != dest_netns && skb_extensions_not_scrubbed) THEN ALERT "Potential CVE-2025-37959 trigger";
- 로직:
- 오탐 시나리오 및 튜닝: 정상적인 네트워크 관리 도구나 복잡한 BPF 기반 가상 네트워크 설정에서 유사한 패턴이 발생할 수 있습니다. 실제 패킷 드롭(Drop) 로그와 연계하여 분석함으로써 오탐을 줄일 수 있습니다.
🛡️ 완화 방안
- 즉시 (긴급 차단):
- 권한 없는 사용자의 BPF 프로그램 로드를 제한합니다 (
sysctl -w kernel.unprivileged_bpf_disabled=1). - 구현 난이도: 낮음 / 운영 영향: 매우 낮음(권한 관리자 제외) / 검증 방법:
sysctl설정 확인.
- 권한 없는 사용자의 BPF 프로그램 로드를 제한합니다 (
- 단기 (완화):
- 문제가 되는
bpf_redirect_peer를 사용하는 특정 BPF 필터나 네트워크 정책을 일시적으로 수정하거나 대체 경로를 검토합니다. - 구현 난이도: 중간 / 운영 영향: 중간(네트워크 경로 변경에 따른 성능/경로 변화) / 검증 방법: 트래픽 도달 테스트.
- 문제가 되는
- 근본 (해결):
- 영향을 받는 커널 버전(5.10~6.14.7 등 범위 내)을 최신 패치 버전으로 업데이트하여
bpf_redirect_peer시skb세척 로직이 적용된 버전을 사용합니다. - 구현 난이도: 중간 / 운영 영향: 높음(커널 업데이트 후 리부팅 필요) / 검증 방법:
uname -r을 통한 커널 버전 확인 및 패치 내역 검증.
- 영향을 받는 커널 버전(5.10~6.14.7 등 범위 내)을 최신 패치 버전으로 업데이트하여
[분석 근거] 본 리포트는 다중 소스 교차검증을 통해 데이터 일관성이 확인되었으며, 실측 EPSS 값(0.00155, 백분위 0.05115)이 매우 낮고 KEV에 등재되지 않았으며 악용 난이도가 Hard인 점을 근거로 우선순위를 'monitor'로 결정하였습니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00155 · exploit=hard · in_scope=None