[공격] 분석 — CVE-2025-21705
A vulnerability in the Linux kernel's MPTCP fastopen disconnect handling can lead to data stream corruption and system instability, requiring a kernel update to the patched versions.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00205 · 악용난이도 hard
🔍 공격 기법
(1) 트리거 조건
- MPTCP(Multipath TCP) 프로토콜의 Fast Open 기능을 사용하는 상태에서 연결 해제(disconnect)가 발생할 때,
__mptcp_clean_una함수 내에서 비정상적인 상태 처리가 발생하여 데이터 스트림 오염 및 커널 패닉(Warning/Panic)을 유발함.
(2) 공격 단계
- 정찰: 대상 시스템이 MPTCP를 지원하며 활성화되어 있는지 확인.
- 초기 접근: 로컬 사용자 권한 획득 또는 네트워크 접근 가능 상태 확보 (AV:L, PR:L).
- 실행 및 영향: 특수하게 조작된 TCP 패킷 시퀀스를 통해 Fast Open 연결을 생성하고, 의도적으로 비정상적인 disconnect 상황을 유도하여 커널 내부의
__mptcp_clean_una로직에서 런타임 오류를 트리거함. - 전제 조건: 공격자가 시스템에 로그인한 상태이거나 소켓 옵션을 제어할 수 있는 권한이 있어야 함.
(3) 공격 표면
- 프로토콜: MPTCP (Multipath TCP).
- 커널 함수:
net/mptcp/protocol.c내의__mptcp_clean_una. - 인터페이스: 시스템 콜을 통한 소켓 생성 및 MPTCP 옵션 설정.
(4) CVSS 벡터 분석
- AV:L / PR:L: 로컬 권한이 필요하며, 네트워크 외부에서 직접적으로 원격 실행하는 것이 아니라 내부 사용자가 트리거하는 구조임.
- AC:L / UI:N: 복잡한 상호작용이나 사용자 개입 없이 특정 패킷/상태 유도로 즉시 실행 가능함.
악용 가능성: 본 취약점은 AV:L 및 PR:L 조건에 따라 공격자가 이미 시스템 내부에 낮은 권한의 계정으로 접근해 있어야 하는 Local Attack 전제조건을 가집니다. 공격 표면은 Linux 커널의 mptcp (Multipath TCP) 프로토콜 스택이며, 구체적으로는 FastOpen 기능이 활성화된 상태에서 연결 해제(disconnect)가 발생하는 시점의 __mptcp_clean_una 함수 내 로직 결함이 트리거 포인트입니다. EPSS 수치가 0.00205로 매우 낮고 KEV에 등재되지 않은 점은, 해당 취약점이 원격에서 즉각적으로 악용될 가능성보다는 특정 커널 설정과 복잡한 네트워크 상태를 정밀하게 조작해야 하는 조건부 결함임을 시사합니다. 하지만 Syzbot을 통해 데이터 스트림 오염(data stream corruption)이 확인된 만큼, 로컬 권한을 가진 공격자가 메모리 손상을 유도하여 커널 패닉(DoS)을 일으키거나 잠재적으로 권한 상승(LPE)으로 체이닝할 수 있는 경로가 존재합니다. 결과적으로 이론적 심각도는 높으나 실제 악용 난이도는 hard 등급이며, MPTCP 기능을 적극적으로 사용하는 특정 환경에서만 실질적인 위협이 됩니다.
💥 영향 분석
(1) 기술적 위험
- 서비스 중단(DoS): 커널 WARNING 또는 Panic으로 인해 시스템이 정지되거나 네트워크 스택이 비정상 동작하여 가용성이 상실됨 (CVSS A:H).
- 데이터 무결성 훼손: 설명에 명시된 'data stream corruption'으로 인해 전송 중인 데이터가 오염될 가능성이 있음.
(2) 비즈니스 영향
- 인프라 가용성 저하: 커널 레벨의 장애로 인해 해당 호스트에서 구동 중인 모든 서비스가 중단됨.
- 신뢰도 하락: 네트워크 통신 데이터의 무결성이 보장되지 않아 서비스 품질 및 데이터 정확성에 영향을 줌.
🔗 관련 취약점·체이닝
- 추정: 단독으로는 DoS(서비스 거부)에 그칠 가능성이 높으나, 커널 메모리 오염(Corruption) 단계에서 특정 메모리 레이아웃을 제어할 수 있다면 권한 상승(LPE)으로 이어지는 체이닝 경로가 존재할 수 있음.
- 추정: MPTCP의 복잡한 상태 머신 결함과 다른 Race Condition 취약점을 결합하여 커널 패닉을 유도하고, 이를 통해 보안 모듈(LSM 등)을 무력화하는 시나리오가 가능할 것으로 보임.
🔎 탐지
(1) 로그 지표
- 커널 로그(
dmesg,/var/log/syslog) 내WARNING또는BUG메시지 확인. - 특히
net/mptcp/protocol.c:1024 __mptcp_clean_una문자열이 포함된 스택 트레이스 발생 여부.
(2) 탐지 규칙 예시
- SIEM 쿼리 (Pseudo-code):
SELECT * FROM kernel_logs WHERE message LIKE '%__mptcp_clean_una%' AND level == 'WARNING' - 로그 패턴 정규식:
\/net\/mptcp\/protocol\.c:\d+ __mptcp_clean_una\+0x[0-9a-f]+
(3) 오탐 시나리오 및 튜닝
- 네트워크 드라이버 불안정성으로 인한 일반적인 MPTCP 에러와 구분 필요. 특정 함수(
__mptcp_clean_una)와 라인 번호가 일치하는 경우만 고위험군으로 분류하여 정밀 분석 수행.
🛡️ 완화 방안
- 즉시(긴급 차단): MPTCP 기능 비활성화. (난이도: 하 / 영향: MPTCP 사용 서비스 불가 / 검증:
sysctl net.mptcp.enabled=0확인) - 단기(완화): 불필요한 로컬 사용자의 네트워크 소켓 제어 권한 제한 및 모니터링 강화. (난이도: 중 / 영향: 운영 마찰 발생 가능 / 검증: 감사 로그 확인)
- 근본(해결): 영향받는 커널 버전에서 수정된 최신 버전으로 업데이트.
- 대상 범위: 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 등 (난이도: 상 / 영향: 시스템 리부팅 필요 / 검증:
uname -r버전 확인)
- 대상 범위: 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 등 (난이도: 상 / 영향: 시스템 리부팅 필요 / 검증:
※ 본 리포트는 다중 소스 교차검증을 통해 데이터 일관성이 확인되었으며, EPSS 0.00205(백분위 0.10802)라는 실측값을 근거로 실제 악용 가능성이 매우 낮음(hard)을 확인했습니다. 이에 따라 CVSS 5.5의 수치에도 불구하고 우선순위를 'monitor'로 결정하였습니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00205 · exploit=hard · in_scope=None