[방어] 분석 — CVE-2025-21875
A race condition in the Linux kernel's MPTCP address removal process can lead to a system crash (DoS), requiring immediate disabling of MPTCP if not required.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.002 · 악용난이도 hard
🔍 공격 기법
(1) 트리거 조건: Multipath TCP(MPTCP)의 Path Manager(PM) 제어 경로에서 주소 제거(address removal) 시, msk socket lock을 적절히 획득하지 않은 상태에서 처리될 때 Lockdep 경고 및 커널 패닉이 유발됨.
(2) 공격 단계:
- 정찰: 대상 시스템의 Linux 커널 버전 및 MPTCP 활성화 여부 확인.
- 초기 접근: 로컬 사용자 권한 획득 (AV:L, PR:L).
- 실행/영향: 특정 Netlink 메시지를 통해 MPTCP 주소 변경/제거 요청을 반복적으로 전송하여 Race Condition 유도 $\rightarrow$ 커널 Lock 충돌 발생 $\rightarrow$ 시스템 Crash(DoS).
(3) 공격 표면:net/mptcp/pm_netlink.c내의 Netlink 인터페이스 및 MPTCP 프로토콜 스택.
(4) CVSS 벡터 연결: - AV:L (Local): 로컬 쉘 접근 필요.
- AC:L (Low): 공격 조건이 단순함.
- PR:L (Low): 일반 사용자 권한으로 트리거 가능.
- UI:N (None): 사용자 상호작용 불필요.
악용 가능성: 본 취약점의 공격 난이도는 Hard로 평가되며, 이는 CVSS 벡터 AV:L과 PR:L에서 알 수 있듯 공격자가 이미 시스템 내부에 낮은 권한의 계정으로 접근해 있어야 한다는 전제조건 때문입니다. 공격 표면은 Linux 커널의 MPTCP(Multipath TCP) 프로토콜 스택이며, 구체적으로는 Netlink 인터페이스를 통한 PM(Path Manager) 제어 경로의 주소 제거 로직이 트리거 포인트가 됩니다. AC:L로 설정되어 있어 조건 충족 시 공격 난이도는 낮아지나, 커널 내부의 Race Condition이나 Lockdep 관련 이슈 특성상 정밀한 타이밍 제어가 필요하여 실제 악용 가능성은 제한적입니다. EPSS 수치가 0.002로 매우 낮고 KEV(Known Exploited Vulnerabilities)에 등재되지 않은 점은 현재 야생에서 이 취약점을 이용한 실질적인 공격 사례가 보고되지 않았음을 의미합니다. 따라서 이론적인 심각도와는 별개로, 로컬 권한을 가진 공격자가 커널 패닉이나 권한 상승을 유도하기 위해 매우 특수한 네트워크 설정과 타이밍을 설계해야 하므로 실제 위협 수준은 낮다고 판단됩니다.
💥 영향 분석
(1) 기술적 위험: 커널 내 Lockdep 경고 및 시스템 중단(Kernel Panic). 결과적으로 서비스 가용성이 완전히 상실되는 Denial of Service(DoS) 상태가 됨.
(2) 비즈니스 영향: 서버 다운타임으로 인한 서비스 중단. 인프라 가용성 저하 및 이에 따른 SLA 미준수 위험.
🔗 관련 취약점·체이닝
- 추정: 본 취약점은 단독으로 권한 상승을 일으키지는 않으나, 시스템의 안정성을 파괴하는 DoS 유형임.
- 추정: 다른 로컬 권한 상승(LPE) 취약점과 체이닝될 경우, 시스템을 의도적으로 재부팅시켜 특정 부팅 시점의 Race Condition을 노리거나 가용성 저하를 통해 보안 솔루션의 일시적 무력화를 유도하는 패턴으로 이어질 수 있음.
🔎 탐지
(1) 로그 지표: 커널 링 버퍼(dmesg) 및 /var/log/syslog 또는 kern.log.
- 패턴:
WARNING: CPU: ... at ./include/net/sock.h:1711 sock_owned_by_me,mptcp_pm_nl_addr_send_ack등의 함수 호출 스택이 포함된 Lockdep splat 메시지.
(2) 탐지 규칙 예시 (SIEM 의사코드): - Rule 1 (Kernel Panic/Warning):
- Source:
syslog/dmesg - Condition:
message CONTAINS "mptcp_pm_nl_addr_send_ack" AND message CONTAINS "WARNING" - Threshold: 1회 발생 시 즉시 알람.
- Source:
- Rule 2 (Abnormal Netlink Traffic):
- Source:
auditd/ebpf - Condition:
syscall == sendmsg AND destination_socket == MPTCP_NETLINK_SOCKET - Threshold: 단시간 내 비정상적으로 높은 빈도의 주소 제거 요청 발생 시 탐지.
(3) 오탐 튜닝: 정상적인 네트워크 구성 변경 작업 중 발생하는 일시적 경고인지 확인. 특정 PID(syz등 퍼징 도구)가 생성한 로그인지 필터링하여 실제 공격과 구분.
- Source:
🛡️ 완화 방안
- 즉시 (긴급 차단): MPTCP 기능 비활성화.
- 방법:
sysctl -w net.mptcp.disabled=1적용. - 난이도: 매우 낮음 / 운영 영향: MPTCP 사용 서비스 중단 / 검증:
sysctl net.mptcp.disabled값 확인. (최우선 권장)
- 방법:
- 단기 (완화): 불필요한 일반 사용자의 Netlink 소켓 접근 제한 및 모니터링 강화.
- 방법: 커널 감사 로그(Auditd)를 통해 MPTCP 관련 시스템 콜 감시.
- 난이도: 보통 / 운영 영향: 로그 저장 공간 증가 / 검증:
auditctl규칙 적용 확인.
- 근본 (해결): Linux 커널 업데이트.
- 방법: 영향을 받는 버전(5.10~6.13 계열)에서 해당 패치가 적용된 최신 안정 버전으로 업그레이드.
- 난이도: 높음 / 운영 영향: 시스템 재부팅 필요 및 커널 호환성 테스트 필수 / 검증:
uname -r로 버전 확인.
[분석 근거] 본 리포트는 다중 소스 교차검증을 통해 데이터 일관성이 확인되었으며, EPSS 실측값 0.002(백분위 0.10182)를 통해 실제 악용 가능성이 매우 낮음(hard)을 확인하였습니다. 이에 따라 CVSS 점수(5.5)에도 불구하고 우선순위를 'monitor'로 결정하였으며, 패치 전까지는 MPTCP 비활성화를 통한 가용성 확보를 권고합니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.002 · exploit=hard · in_scope=None