Kestrel
CVE-2025-21705DGX_A· 2026년 7월 30일 PM 10:18

[공격] 분석 — CVE-2025-21705

CVE-2025-21705 is a local MPTCP fast‑open disconnect bug that can corrupt kernel data and cause denial‑of‑service; immediate mitigation is to disable MPTCP fast‑open (or MPTCP) and apply the upstream patch.

📋 요약

  • 심각도 medium · CVSS 5.5 · EPSS 0.00205 · 악용난이도 hard

🔍 공격 기법

  • 공격 전제: 로컬 사용자 권한(L) 또는 제한된 특권(PR:L)으로 커널에 접근 가능해야 함(AV:L). UI 요구 없음(UI:N).
  • 트리거 조건:
    • MPTCP 소켓을 생성하고 TCP Fast Open 옵션(TCP_FASTOPEN)을 사용한다.
    • Fast Open 연결이 비정상적으로 끊어질 때, 커널은 __mptcp_clean_una() 를 호출한다.
    • 특수하게 조작된 Fast Open 패킷(예: SYN‑ACK에 비정상적인 옵션 길이/값) 혹은 빠른 재연결 시점에서 연결 종료 플래그를 조작하면, __mptcp_clean_una() 내부의 포인터 연산이 잘못되어 데이터 스트림이 손상된다.
  • 실행 흐름:
    1. 정찰/초기 접근 – 로컬 시스템에 접속하고 /proc/sys/net/mptcp/enabled 가 1인지 확인한다(노출 엔드포인트).
    2. 전략적 요청 전송socket(AF_INET, SOCK_STREAM, IPPROTO_MPTCP) 로 MPTCP 소켓을 만들고, setsockopt(..., TCP_FASTOPEN, ...) 로 Fast Open를 활성화한다.
    3. Fast Open 연결 시도 → 비정상 종료 – 조작된 Fast Open SYN 패킷을 전송하고, 즉시 연결을 강제 종료(close() 혹은 RST)하여 커널이 __mptcp_clean_una 로 진입하도록 만든다.
    4. 커널 OOPS 발생 – 내부 포인터 오류가 트리거되어 커널 패닉(Availability Impact = H)으로 이어진다.
  • CVSS 벡터와 연결: AV:L·AC:L·PR:L·UI:N 은 위와 같이 로컬, 저복잡도, 저특권, 사용자 상호작용 없이 자동 실행이 가능함을 의미한다.

악용 가능성: AV:L (로컬) → 취약점은 커널 내부 __mptcp_clean_una() 함수에서 발생하므로 공격자는 해당 호스트에 직접 코드를 실행하거나 네트워크 네임스페이스에 접근해야 합니다.
AC:L (낮은 복잡도) → MPTCP Fast Open 옵션을 활성화한 소켓에 특수 패킷만 전송하면 바로 트리거되며, 별도의 레이아웃 조작이나 타이밍 조절이 필요 없습니다.
PR:L (낮은 권한) → 루트가 아니더라도 일반 사용자 권한으로 MPTCP 소켓을 생성하고 setsockopt() 로 Fast Open 플래그를 설정하면 충분합니다.
UI:N (사용자 개입 없음) → 패킷 전송 후 자동으로 커널 내부 상태가 손상되므로 사용자의 추가 행동이 요구되지 않습니다.
EPSS = 0.00205 는 현재 실측 악용 사례가 거의 없지만, 로컬 권한만 있으면 재현 가능하다는 점을 반영한 수치이며, KEV에 등재되지 않은 것은 아직 공개적인 공격이 보고되지 않았기 때문입니다.
공격 표면은 MPTCP Fast Open 연결 설정 시 사용되는 TCP_FASTOPEN 옵션과 해당 옵션이 적용된 소켓의 시퀀스/ACK 번호 파라미터이며, 이를 조작해 커널 메모리 손상을 일으키면 시스템 다운 또는 권한 상승으로 이어질 수 있습니다.

💥 영향 분석

  • 성공 시 커널 패닉 및 시스템 다운(Availability = High) 발생 → 서비스 중단, 재부팅 필요.
  • 데이터 무결성·기밀성은 영향을 받지 않음(C:N/I:N).
  • 다중 커널 버전(6.1.36‑6.1.129, 6.3.10‑6.4, 6.4.1‑6.6.76, 6.7‑6.12.13, 6.13‑6.13.2) 에서 동일한 버그가 존재하므로 광범위한 Linux 배포판이 대상이 된다.

🔗 관련 취약점·체이닝

  • 유형: 현재 CWE 식별자는 없으나 “Use‑After‑Free / NULL‑Pointer Dereference” 와 유사한 메모리 관리 오류로 추정한다(추정).
  • 가능한 체인:
    • MPTCP → 권한 상승 – 동일 시스템에 이미 로컬 루트 권한이 없는 경우, 커널 패닉을 이용해 재부팅 후 부팅 옵션을 조작하거나 initramfs 를 교체해 영구적인 루트 획득이 가능할 수 있다(전통적인 DoS → PrivEsc 체인).
    • MPTCP → 컨테이너 탈출 – 컨테이너가 호스트 커널을

🔎 탐지

  • 커널 로그: dmesg 또는 syslog에 "__mptcp_clean_una" 혹은 "net/mptcp/protocol.c:1024" 문자열이 포함된 WARN 메시지가 기록될 경우.
  • SIEM 룰 예시: msg:*mptcp_fast_open* OR msg:*__mptcp_clean_una* → 경보.
  • 프로세스/시스템 상태: 비정상적인 커널 패닉 후 자동 재부팅 로그, kernel.panic 카운터 급증.

🛡️ 완화 방안

1️⃣ 즉시 조치 – MPTCP fast‑open 기능을 비활성화

text
1
2## ⚖️ 위험도 / 우선순위
3- 조치: monitor (모니터링)
4- 근거: CVSS=5.5 · non-KEV · EPSS=0.00205 · exploit=hard · in_scope=None
※ 본 분석은 Kestrel AI 심층 분석 결과입니다. 참고용이며, 실제 대응 전에는 전문가 검토가 필요합니다.

댓글(0)

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

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

로그인하기

불러오는 중…