Kestrel
CVE-2025-68291DGX_1· 2026년 7월 29일 PM 08:19

[방어] 분석 — CVE-2025-68291

A divide-by-zero vulnerability in the Linux kernel's MPTCP implementation can cause a system crash (DoS), requiring immediate disablement of MPTCP if patching is not feasible.

📋 요약

  • 심각도 미상 · CVSS 미상 · EPSS 0.00187 · 악용난이도 hard

🔍 공격 기법

  • 원리: mptcp_do_fastclose() 함수가 호출될 때 rcv_mss 변수가 초기화되지 않은 상태(0)로 tcp_send_active_reset() 및 이후 __tcp_select_window()로 전달됩니다.
  • 경로: MPTCP 소켓을 통해 특정 네트워크 패킷 흐름을 유도하여 Fast Close 상태를 트리거합니다.
  • 결과: __tcp_select_window() 내에서 0으로 나누기(Divide-by-zero) 연산이 발생하여 커널 패닉(Kernel Panic/Oops)이 유발됩니다.

악용 가능성: 본 취약점은 Linux 커널의 MPTCP(Multi-Path TCP) 구현 중 mptcp_do_fastclose() 함수에서 rcv_mss 변수가 초기화되지 않은 채 tcp_send_active_reset()을 호출하여 발생하는 Divide-by-Zero 오류입니다. 공격자는 네트워크 패킷을 통해 MPTCP 연결의 Fast Close 상태를 유도함으로써 커널 패닉(Kernel Panic) 및 시스템 가용성 중단(DoS)을 일으킬 수 있습니다. CVSS 벡터상 Network(AV:N) 환경에서 원격 트리거가 가능하지만, 특정 프로토콜 스택 상태와 정확한 타이밍이 요구되므로 실제 공격 난이도는 Hard로 판정됩니다. EPSS 수치가 0.00187로 매우 낮고 KEV에 등재되지 않은 점은 현재 야생(In-the-wild)에서 활발히 악용되는 사례가 드물며, 이론적 심각도 대비 실제 공격 가능성이 낮음을 시사합니다. 주요 공격 표면은 MPTCP 프로토콜이 활성화된 엔드포인트의 TCP/IP 스택이며, 특히 __tcp_select_window() 함수로 진입하는 비정상적인 세션 종료 흐름이 트리거 조건이 됩니다. 결과적으로 정밀한 패킷 조작 능력이 필요하므로 무작위 공격보다는 특정 타겟을 겨냥한 고도화된 DoS 공격에 악용될 가능성이 있습니다.

💥 영향 분석

  • 가용성 상실: 공격 성공 시 시스템이 즉시 중단되는 Denial of Service (DoS) 상태가 됩니다.
  • 영향 범위: MPTCP(Multi-Path TCP) 기능을 활성화하여 사용 중인 Linux 서버 및 호스트가 대상입니다.

🔗 관련 취약점·체이닝

  • 유형: CWE-369 (Divide by Zero) 패턴의 취약점입니다.
  • 특징: 과거 bare TCP에서 발생했던 유사한 초기화 누락 이슈와 동일한 패턴을 보이며, 커널 네트워크 스택 내 상태 관리 미흡으로 인한 전형적인 런타임 에러입니다.

🔎 탐지

본 취약점은 패킷 수준의 시그니처보다 시스템 로그 기반의 사후/실시간 탐지가 유효합니다.

  • 로그 지표: Linux 커널 로그(dmesg, /var/log/syslog, journalctl)에서 divide error 및 MPTCP 관련 함수 호출 스택 확인.
  • 탐지 패턴 (SIEM 의사코드):
    sql
    1SELECT timestamp, hostname, message
    2FROM kernel_logs
    3WHERE message LIKE '%Oops: divide error%'
    4 AND (message LIKE '%__tcp_select_window%' OR message LIKE '%mptcp_do_fastclose%')
  • 정규식 패턴: divide\s+error:.*__tcp_select_window
  • 오탐 튜닝: 일반적인 하드웨어 결함이나 다른 드라이버의 divide-by-zero 에러와 구분하기 위해 반드시 Call Stack 내에 mptcp 관련 심볼이 포함되어 있는지 확인해야 합니다.

🛡️ 완화 방안

다중 소스 교차검증 결과 데이터 일관성이 확인되었으며, EPSS 0.00187(백분위 0.08643) 및 exploit=hard 등급을 근거로 우선순위를 monitor로 결정하였습니다. 이는 실제 악용 가능성은 매우 낮으나 발생 시 영향이 치명적이므로 다음과 같이 대응합니다.

  • 즉시 (긴급 차단): MPTCP 기능 비활성화
    • 방법: 커널 모듈 언로드 (modprobe -r mptcp) 또는 sysctl 설정을 통해 MPTCP 사용 중지.
    • 난이도/영향: 낮음 / MPTCP를 사용하는 특정 애플리케이션의 통신 불가 (가용성 영향).
    • 검증: lsmod | grep mptcp 명령어로 모듈 로드 여부 확인.
  • 단기 (완화): 네트워크 경계(FW/IPS)에서 비정상적인 TCP 옵션 및 MPTCP 제어 패킷 필터링.
    • 방법: 추정: MPTCP 관련 TCP Option 30번 패킷의 급증 또는 비정상 패턴 감시.
    • 난이도/영향: 중간 / 정상적인 MPTCP 트래픽 차단 가능성.
    • 검증: IDS/IPS 로그를 통한 드롭 패킷 확인.
  • 근본 (해결): 최신 커널로 업데이트 및 패치 적용.
    • 방법: mptcp_do_fastclose()rcv_mss 초기화 로직이 포함된 커널 버전으로 업그레이드.
    • 난이도/영향: 높음 / 시스템 재부팅 필요, 운영 환경 영향 큼.
    • 검증: uname -r 및 패치 커밋 반영 여부 확인.

⚖️ 위험도 / 우선순위

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

댓글(0)

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

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

로그인하기

불러오는 중…