[방어] 분석 — CVE-2025-68725
A local denial-of-service vulnerability in the Linux kernel BPF subsystem triggered by invalid GSO types; prioritize monitoring for
skb_warn_bad_offloadlogs and restricting unprivileged BPF access.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00168 · 악용난이도 hard
🔍 공격 기법
본 취약점은 Local 권한을 가진 사용자가 BPF 프로그램을 통해 패킷을 루프백(loopback) 장치로 전달할 때 발생합니다. 구체적으로 bpf_clone_redirect() 함수가 호출되는 과정에서 convert___skb_to_skb()가 gso_segs와 gso_size는 설정하지만, 정작 중요한 gso_type을 누락하여 불완전한(malformed) GSO 속성을 생성합니다. 이후 커널의 gso_features_check() 단계에서 유효하지 않은 GSO 타입이 감지되어 skb_warn_bad_offload() 경고가 발생하고, 결과적으로 해당 패킷의 GSO 관련 기능이 비활성화됩니다.
악용 가능성: 본 취약점의 공격 난이도는 Hard로 평가되며, 실제 악용 가능성은 매우 낮습니다. CVSS 벡터상 AV:L과 PR:L 조건으로 인해 공격자는 이미 시스템에 로그인하여 BPF 프로그램을 실행할 수 있는 권한을 가진 로컬 사용자여야 합니다. 공격 표면은 Linux 커널의 BPF 서브시스템 내 bpf_clone_redirect() 함수 및 루프백 디바이스로 패킷을 푸시하는 경로에 국한됩니다. 트리거 조건은 convert___skb_to_skb() 과정에서 gso_type이 누락된 상태로 GSO 속성이 설정되어 skb_warn_bad_offload() 경고를 유발하는 구조입니다. EPSS 수치가 0.00168로 매우 낮고 KEV에 등재되지 않은 점은, 이 취약점이 이론적인 결함일 뿐 실제 야생(In-the-wild)에서 공격 코드로 구현되어 활용된 사례가 거의 없음을 시사합니다. 결과적으로 낮은 권한의 사용자가 커널 내부의 불완전한 GSO 타입 설정을 유도해야 하므로, 실질적인 위협 수준보다는 시스템 안정성 및 경고 로그 발생 관점의 이슈에 가깝습니다.
💥 영향 분석
- 서비스 가용성 저하: 잘못된 GSO 타입으로 인해 네트워크 오프로드(Offload) 기능이 강제 비활성화되어 네트워크 성능 저하 및 처리 지연이 발생할 수 있습니다.
- DoS 가능성: 추정: 반복적인 유효하지 않은 패킷 주입을 통해 커널 로그를 과도하게 생성하거나, 특정 네트워크 경로의 효율성을 떨어뜨리는 Local DoS 상태를 유발할 수 있습니다.
🔗 관련 취약점·체이닝
- 권한 상승 체이닝: 본 취약점 단독으로는 권한 상승이 불가능하나, 커널 메모리 오염이나 다른 BPF 관련 취약점과 결합하여 커널 패닉을 유도하거나 시스템 불안정성을 높이는 전단계로 활용될 가능성이 있습니다.
🔎 탐지
본 취약점은 공격 시 커널 내부에서 명시적인 경고 메시지를 출력하므로, dmesg 및 syslog 모니터링이 핵심입니다.
1. 로그 지표 및 패턴
- 로그 위치:
/var/log/kern.log,/var/log/messages또는dmesg출력물 - 핵심 식별자:
skb_warn_bad_offload()함수에서 생성되는 경고 메시지 - 탐지 패턴:
netif_skb_features및gso_features_check와 관련된 GSO 타입 오류 메시지
2. 탐지 규칙 예시 (SIEM 의사코드)
1SELECT timestamp, hostname, message 2FROM kernel_logs 3WHERE message LIKE '%skb_warn_bad_offload%' 4 AND message LIKE '%gso_type%' 5 AND message LIKE '%invalid%' 6-- 임계값: 단일 호스트에서 1분 내 5회 이상 발생 시 Alert (비정상적 BPF Fuzzing 의심)3. 오탐 튜닝 및 대응
- 오탐 시나리오: 특정 네트워크 드라이버의 버그나 비표준 프로토콜 스택을 사용하는 합법적인 애플리케이션이 유사한 GSO 경고를 발생시킬 수 있습니다.
- 튜닝 방법:
bpf_clone_redirect호출과 연관된 프로세스 ID(PID) 및 사용자 계정을 추적하여, 일반 사용자가 BPF 테스트 인프라나 Fuzzer 툴을 실행 중인지 확인하십시오.
🛡️ 완화 방안
본 리포트는 다중 소스 데이터 일관성이 확인되었으며, EPSS 실측값이 0.00168(백분위 0.06412)로 매우 낮고 exploit 등급이 hard인 점을 근거로 우선순위를 monitor로 결정하였습니다.
1. 즉시 (긴급 차단)
- 조치: unprivileged BPF 사용 제한 (
kernel.unprivileged_bpf_disabled=1) - 구현:
sysctl -w kernel.unprivileged_bpf_disabled=1적용 - 난이도/영향: 낮음 / BPF를 사용하는 일반 사용자 애플리케이션(일부 모니터링 툴 등) 작동 중단 가능성 있음
- 검증:
sysctl kernel.unprivileged_bpf_disabled값 확인
2. 단기 (완화)
- 조치: 루프백 인터페이스 및 BPF 관련 시스템 호출 모니터링 강화
- 구현: Auditd를 사용하여
bpf()시스템 콜 호출 기록 및 특정 네트워크 소켓 옵션 변경 감시 - 난이도/영향: 중간 / 로그 양 증가로 인한 디스크 I/O 부하 발생 가능성
- 검증:
auditctl규칙 적용 후 테스트 패킷 전송 시 로그 생성 확인
3. 근본 (해결)
- 조치: 영향받는 커널 버전(5.6 ~ 6.18.2 범위 내)을 최신 보안 패치가 적용된 버전으로 업데이트
- 구현: OS 벤더 제공의 최신 커널 패키지 설치 및 리부팅
- 난이도/영향: 높음 / 시스템 재시작 필요, 커널 버전 변경에 따른 드라이버 호환성 검토 필요
- 검증:
uname -r을 통해 패치된 버전 반영 확인
잔여 리스크: 패치 이후에도 BPF 서브시스템의 다른 로직에서 유사한 GSO 타입 누락 문제가 존재할 가능성이 있으므로, 지속적인 커널 로그 모니터링이 필요합니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00168 · exploit=hard · in_scope=None