[공격] 분석 — CVE-2025-21706
A logic flaw in the Linux kernel's MPTCP path manager allows setting the 'fullmesh' flag on implicit endpoints, potentially leading to a kernel warning or crash; update the kernel to the patched version.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00205 · 악용난이도 hard
🔍 공격 기법
(1) 트리거 조건: mptcp_pm_nl_set_flags 함수를 통해 Netlink 메시지를 전송하여 엔드포인트의 플래그를 변경할 때, 'subflow'가 아닌 'implicit' 엔드포인트에 fullmesh 플래그를 설정하도록 요청하면 발생함.
(2) 공격 단계:
- 정찰: 타겟 시스템의 커널 버전이 MPTCP Path Manager를 사용하는지 및 영향 범위 내 버전인지 확인.
- 초기 접근: 로컬 사용자 권한 획득 (AV:L, PR:L).
- 실행:
NETLINK_MPTCP소켓을 생성하고mptcp_pm_nl_fullmesh경로를 통해 잘못된 엔드포인트 타입에 플래그 설정을 시도. - 영향: 커널 내부의
__mark_subflow_endp_available함수에서 상태 불일치로 인한WARNING발생 및 추정: 커널 패닉(Panic)으로 인한 시스템 가용성 상실.
(3) 공격 표면: Linux Kernel Netlink Interface (mptcp_pm_nl_set_flags), MPTCP Path Manager 모듈.
(4) CVSS 벡터 연결:AV:L/PR:L은 로컬 계정 권한이 필수적임을 뜻하며,UI:N은 사용자 상호작용 없이 실행 가능함을 의미함. 즉, 이미 시스템에 진입한 공격자가 가용성을 파괴하는 DoS 공격 시나리오임.
악용 가능성: 본 취약점은 AV:L/PR:L 벡터가 가리키듯, 공격자가 이미 시스템에 낮은 권한(Low Privilege)의 쉘을 확보한 상태에서 로컬 네트워크 스택에 접근해야 하는 높은 진입 장벽을 가집니다. 공격 표면은 Linux 커널의 MPTCP(Multipath TCP) Path Manager와 연결된 Netlink 인터페이스이며, 구체적으로는 mptcp_pm_nl_fullmesh() 함수를 통해 fullmesh 플래그를 조작하는 파라미터 전달 과정에서 트리거됩니다. 이론적으로는 커널 내 implicit 엔드포인트에 잘못된 플래그가 설정되어 Warning을 유발하는 로직 결함이나, EPSS 0.00205 및 KEV 미등재 상태는 현재 이 결함을 이용해 권한 상승(LPE)이나 원격 코드 실행으로 연결한 실측 사례가 극히 드물음을 의미합니다. 따라서 단독으로는 단순 서비스 거부(DoS)나 커널 패닉을 유도하는 수준에 그칠 가능성이 크며, 실제 위협이 되려면 메모리 오염 취약점과 체이닝하여 커널 메모리 레이아웃을 조작하는 정교한 시나리오가 전제되어야 합니다. 결과적으로 로컬 접근 권한이라는 제약과 트리거 조건의 특수성으로 인해 실전 악용 난이도는 매우 높으며, 공격 가능성은 제한적입니다.
💥 영향 분석
(1) 기술적 위험: 커널 수준의 Warning 발생 및 추정: 비정상적인 상태 전이로 인한 Kernel Panic 유발. 이는 시스템 전체의 중단(Denial of Service)으로 이어짐.
(2) 비즈니스 영향: 서버 가용성 저하. 특히 MPTCP를 활용하여 다중 경로 통신을 수행하는 고가용성 네트워크 인프라 환경에서 서비스 중단 위험이 존재함.
🔗 관련 취약점·체이닝
- 체이닝 패턴: 추정: [로컬 권한 획득(LPE)] $\rightarrow$ [본 CVE를 이용한 커널 상태 교란] $\rightarrow$ [커널 패닉 유발 및 서비스 거부].
- 유형 수준 분석: 본 취약점은 입력 값 검증 미흡으로 인한 논리적 오류임. 추정: 다른 메모리 오염 취약점과 결합될 경우, 단순 Crash를 넘어 커널 실행 흐름을 제어하는 경로로 활용될 가능성이 있으나 현재 데이터로는 DoS 수준에 국한됨.
🔎 탐지
(1) 로그 지표: dmesg 또는 /var/log/syslog 내 MPTCP 관련 Warning 메시지 확인.
- 패턴:
WARNING: CPU: .* at net/mptcp/pm_netlink.c:1496 __mark_subflow_endp_available
(2) 탐지 규칙: - 로직:
dmesg | grep -E "net/mptcp/pm_netlink.c:1496" - SIEM 쿼리 예시:
process.name == "kworker" AND message CONTAINS "mptcp_pm_nl_fullmesh" AND message CONTAINS "WARNING"
(3) 오탐 시나리오 및 튜닝: MPTCP 설정 변경 도구의 정상적인 동작 중 발생할 수 있으나, 일반적인 운영 환경에서__mark_subflow_endp_available경고가 발생하는 것은 비정상적이므로 임계값을 낮게 설정하여 즉시 알림하도록 구성.
🛡️ 완화 방안
- 즉시(긴급 차단): MPTCP 기능을 사용하지 않는 경우, 커널 모듈 로드를 차단하거나
sysctl을 통해 관련 기능을 제한. (난이도: 하 / 영향: MPTCP 기능 상실) - 단기(완화): 비특권 사용자의 Netlink 소켓 생성 및 제어 권한을 제한하는 보안 프로파일(AppArmor, SELinux) 적용. (난이도: 중 / 영향: 일부 관리 도구 동작 제약 가능성)
- 근본(해결): 영향 제품 범위 내의 최신 패치 버전으로 커널 업그레이드.
- 5.18 ~ 6.1 $\rightarrow$ 6.1.129+
- 6.2 ~ 6.6 $\rightarrow$ 6.6.78+
- 6.7 ~ 6.12 $\rightarrow$ 6.12.13+
- 6.13 $\rightarrow$ 6.13.2+
(난이도: 중 / 영향: 재부팅 필요, 가용성 일시 중단)
[분석 근거] 본 리포트는 다중 소스 교차검증을 통해 데이터 일관성이 확인되었으며, 실측 EPSS 값 0.00205(백분위 0.10802)를 근거로 실제 악용 가능성이 매우 낮음(hard)을 확인하였습니다. 이에 따라 CVSS 5.5의 이론적 심각도보다 실무적 위험도가 낮다고 판단하여 'monitor' 우선순위를 부여하였습니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00205 · exploit=hard · in_scope=None