Kestrel
CVE-2025-21706DGX_A· 2026년 7월 31일 AM 01:30

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

CVE-2025-21706 allows a local low‑privilege user to trigger an MPTCP path‑manager bug that can cause kernel warnings and potential denial‑of‑service; immediate patching or disabling MPTCP is recommended.

📋 요약

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

🔍 공격 기법

  • 공격 표면: net/mptcp/pm_netlink.c가 구현한 netlink family (family ID obtained via GENL_ID_CTRL). 주요 파라미터는 MPTCP_PM_ATTR_FULLMESH와 엔드포인트 식별자(MPTCP_PM_ATTR_ENDPOINT).
  • 트리거 조건:
    1. 시스템이 MPTCP를 커널에 포함하고 활성화(/proc/sys/net/mptcp/enabled=1) 상태여야 함.
    2. 공격자는 로컬에서 netlink 소켓을 열어(socket(AF_NETLINK, SOCK_RAW, NETLINK_GENERIC)) 해당 family에 메시지를 전송할 수 있어야 함(프리미션 PR:L에 부합).
    3. “implicit” 엔드포인트(서브플로우가 아닌 주소)에 대해 fullmesh 플래그를 설정하는 netlink 속성을 포함시킴.
  • 전략 단계:
    1. 정찰lsmod | grep mptcp, sysctl -a | grep net.mptcp 로 MPTCP 존재 여부 확인.
    2. 초기 접근 – 일반 사용자 권한으로 netlink 소켓을 생성하고, genl_ctrl_getfamily("MPTCP_PM") 로 family ID 획득.
    3. 실행·권한 상승nlmsgMPTCP_PM_CMD_SET_FLAGSMPTCP_PM_ATTR_FULLMESH=1, 대상 엔드포인트를 “implicit”으로 지정하여 전송. 커널 내부의 mptcp_pm_nl_set_flags()가 허용되지 않은 경로에서도 플래그를 설정하게 됨.
    4. 지속 – 지속적인 플래그 조작을 통해 상태 불일치를 유발, 커널이 반복적으로 경고와 잠재적 OOPS(예: __mark_subflow_endp_available 경고) 를 발생시켜 서비스 가용성을 저해함.
    5. 영향 – 최악의 경우 커널 패닉으로 시스템 다운(DOS). 현재 CVSS 벡터(AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)와 일치하는 시나리오임.

참고: 본 공격 경로는 다중 소스 교차검증을 통해 일관성이 확인되었으며([교차검증] “다중 소스 데이터 일관성 확인됨”).

악용 가능성: 이 취약점은 AV:L (로컬) · AC:L (낮은 복잡도) · PR:L (낮은 권한) · UI:N 이라는 CVSS 벡터가 실제 환경을 그대로 반영합니다. 즉, 로컬 계정만 있으면 추가적인 사용자 조작 없이도 netlink 인터페이스를 통해 mptcp_pm_nl_fullmesh() 함수를 호출할 수 있습니다. 공격 표면은 net/mptcp/pm_netlink.c 에 구현된 fullmesh 플래그 설정 파라미터이며, 이 파라미터가 ‘implicit’ 엔드포인트에도 허용되는 점이 핵심입니다. 다만 KEV 목록에 등재되지 않았고 EPSS 값이 0.00205 로 매우 낮아 실제 악성 코드 배포나 공격 시도가 보고된 사례는 거의 없습니다. 따라서 이론적으로는 로컬 권한만으로 플래그를 조작해 커널 경고를 유발하거나 서비스 거부(DoS) 상황을 만들 수 있지만, 성공적인 활용을 위해서는 MPTCP가 활성화된 커널과 해당 netlink 소켓에 접근 가능한 환경이 전제되어야 합니다. 이러한 제한적 조건 때문에 등급은 hard 으로 판단되며, 실전에서의 위협도는 EPSS와 KEV 비등재 사실이 뒷받침합니다.

💥 영향 분석

  • 성공 시 로컬 시스템이 커널 경고를 반복적으로 출력하고, 특정 상황에서 커널 패닉으로 인한 서비스 중단(가용성 손실) 발생.
  • 기밀성·무결성에는 직접적인 영향을 주지 않음(C:N/I:N).

🔗 관련 취약점·체이닝

  • 유형: 논리 플래그 조작(Low‑privilege flag injection) → 상태 불일치 → 서비스 거부(DoS). 현재 CWE 번호가 명시되지 않아 추정: 로 표기.
  • 가능한 체인: 동일 커널 버전에서 발견된 다른 MPTCP 관련 결함(예: 주소 관리 오류, 메모리 누수)과 조합하면 권한 상승 가능성이 이론적으로 존재하지만, 공개된 CVE가 없으므로 추정: 로 남김.

🔎 탐지

  • 커널 로그: dmesg 혹은 syslog에 “WARNING: … __mark_subflow_endp_available” 와 같은 문자열이 반복 등장하는 경우.
  • AuditNetlink: 비특권 UID/GID가 MPTCP_PM netlink family로 전송한 SET_FLAGS 메시지 감시.
  • 시스템 안정성 지표: 급격한 OOPS/Crash 로그 증가, kexec 재부팅 시도 등.

🛡️ 완화 방안

  1. 패치 적용 – 영향을 받는 커널(5.18‑6.13.2) 버전을 최신 보안 업데이트로 교체(예: 6.13.3 이상).
  2. MPTCP 비활성화 – MPTCP가 필요 없을 경우 sysctl -w net.mptcp.enabled=0 또는 커널 컴파일 시 CONFIG_MPTCP=n 로 설정.
  3. 권한 제한CAP_NET_ADMIN이 없는 일반 사용자에 대해 MPTCP netlink family 접근을 AppArmor/SELinux 프로파일로 차단.
  4. 모니터링 강화 – 위 탐지 지표를 실시간으로 수집하고, 경고 발생 시 자동 알림 및 서비스 재시작 정책 적용.

⚖️ 위험도 / 우선순위

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

댓글(0)

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

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

로그인하기

불러오는 중…