[공격] 분석 — CVE-2025-40258
A race condition in the Linux kernel's MPTCP implementation leads to a Use-After-Free (UAF) vulnerability, requiring immediate disabling of MPTCP if not essential and subsequent kernel patching.
📋 요약
- 심각도 미상 · CVSS 미상 · EPSS 0.00171 · 악용난이도 hard
🔍 공격 기법
(1) 트리거 조건: mptcp_schedule_work() 함수 내에서 워크 큐 스케줄링과 참조 횟수(sock_hold) 증가 사이의 원자성 결여를 이용합니다. schedule_work가 성공한 직후, sock_hold가 호출되기 전 mptcp_worker가 즉시 실행되어 작업을 완료하고 소켓 참조를 해제하면 UAF 상태가 됩니다.
(2) 공격 단계:
- 정찰: 타겟 시스템의 커널 버전 및 MPTCP 활성화 여부 확인.
- 초기 접근: 네트워크 스택에 접근 가능한 로컬 사용자 권한 또는 MPTCP 패킷 전송이 가능한 원격 위치 확보.
- 실행/권한 획득: 정교하게 타이밍을 맞춘 MPTCP 트래픽 유도 $\rightarrow$ Race Condition 트리거 $\rightarrow$
refcount0 상태에서sock_hold호출(UAF) $\rightarrow$ 커널 메모리 오염 $\rightarrow$ 추정: 임의 코드 실행 또는 권한 상승. - 지속/영향: 커널 모드에서의 코드 실행을 통해 루트 권한 획득 및 시스템 제어.
(3) 공격 표면: Linux Kernel Network Stack, 구체적으로 MPTCP(Multi-Path TCP) 프로토콜 핸들러 및 mptcp_schedule_work() 함수.
(4) CVSS 벡터 연결 (추정):
- AV:N/L (네트워크 또는 로컬 접근 가능성)
- AC:H (Race Condition 특성상 매우 정밀한 타이밍 필요)
- PR:L/N (특권 없는 사용자나 외부 패킷으로 트리거 가능성)
- UI:N (사용자 상호작용 불필요)
악용 가능성: 본 취약점은 Linux Kernel의 MPTCP(Multipath TCP) 스택 내 mptcp_schedule_work() 함수에서 발생하는 Race Condition으로 인한 Use-After-Free(UAF)입니다. 공격자는 네트워크 패킷을 통해 MPTCP 워크로드 생성을 트리거해야 하며, schedule_work 호출 직후와 sock_hold 실행 사이의 매우 짧은 찰나에 mptcp_worker가 먼저 실행되어 소켓 참조 횟수를 해제하는 정밀한 타이밍 제어가 필요하므로 공격 난이도는 Hard로 판정됩니다. EPSS 수치가 0.00171로 낮고 KEV에 등재되지 않은 점은 실제 야생(In-the-wild)에서 무기화된 사례가 드물며, 일반적인 네트워크 환경보다 특정 커널 버전과 MPTCP 활성화 설정이 전제되어야 함을 의미합니다. 공격 표면은 외부에서 유입되는 MPTCP 제어 패킷 및 소켓 상태 변경 요청이며, 구체적으로는 sk_refcnt를 조작하는 커널 내부 함수와 네트워크 인터페이스 엔드포인트가 타겟이 됩니다. 이론적 심각도는 높으나, 원격으로 정확한 Race Window를 맞추기 위해 다량의 패킷을 송신하여 커널 스케줄링 지연을 유도하는 등의 고난도 기법이 요구됩니다. 따라서 본 취약점은 단독 공격보다는 로컬 권한 상승(LPE)이나 다른 메모리 오염 취약점과 체이닝되어 커널 패닉 또는 임의 코드 실행으로 이어질 가능성이 있는 잠재적 위협입니다.
💥 영향 분석
(1) 기술적 위험: Use-After-Free로 인한 커널 패닉(DoS) 또는 커널 메모리 조작을 통한 권한 상승(LPE). refcount_warn_saturate 경고가 발생하며 시스템 불안정성이 초래됩니다.
(2) 비즈니스 영향: 커널 레벨의 취약점으로, 성공 시 서버 전체 제어권 상실 및 데이터 유출 위험이 있습니다. 다만, EPSS 0.00171(백분위 0.06717) 수치는 실제 야생에서 악용될 확률이 매우 낮음을 뜻하며, 이는 공격 난이도가 'hard'로 분류된 점과 일치합니다.
🔗 관련 취약점·체이닝
- 추정: [정보 유출(KASLR 우회)] $\rightarrow$ [본 CVE (UAF/Race Condition)] $\rightarrow$ [권한 상승(LPE)].
- 단순 DoS보다는 커널 객체의 메모리 레이아웃을 조작하는 Heap Spraying 기법과 체이닝하여 제어 흐름을 탈취하는 패턴으로 이어질 가능성이 높습니다.
🔎 탐지
(1) 로그 지표: 커널 로그(dmesg, /var/log/syslog) 내 refcount_t: addition on 0 및 mptcp_schedule_work 관련 Call Trace 발생 여부.
(2) 탐지 규칙:
- 로직:
grep -E "refcount_warn_saturate|mptcp_schedule_work" /var/log/kern.log - SIEM 쿼리 예시:
index=linux_logs message="*refcount_t: addition on 0*" AND message="*mptcp_schedule_work*"
(3) 오탐 시나리오: 하드웨어 결함이나 다른 커널 버그로 인한 유사한 refcount 경고가 발생할 수 있습니다.mptcp관련 함수 호출 스택이 포함되었는지 확인하여 튜닝합니다.
🛡️ 완화 방안
- 즉시(긴급 차단): MPTCP 기능 비활성화. (명령어:
sysctl -w net.mptcp.disabled=1). [난이도: 저 / 영향: MPTCP 사용 서비스 중단 / 검증:sysctl값 확인] - 단기(완화): 네트워크 방화벽에서 비정상적인 MPTCP 옵션이 포함된 패킷 필터링 및 모니터링 강화. [난이도: 중 / 영향: 성능 저하 가능성 / 검증: 패킷 캡처 분석]
- 근본(해결): 취약점이 해결된 최신 커널 버전으로 업데이트 (Linux 5.7 이후 수정 버전 또는 해당 커밋이 반영된 배포판 패치 적용). [난이도: 중 / 영향: 시스템 재부팅 필요 / 검증:
uname -a및 패치 버전 확인]
본 리포트는 다중 소스 교차검증을 통해 내용의 일관성이 확인되었으며, 실측 EPSS(0.00171)와 규칙 기반 분석을 통해 우선순위를 'monitor'로 결정하였습니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=미상 · non-KEV · EPSS=0.00171 · exploit=hard · in_scope=None