[공격] 분석 — CVE-2025-40257
A race condition in the Linux kernel's MPTCP implementation leads to a slab-use-after-free vulnerability, requiring a kernel update that implements RCU protection.
📋 요약
- 심각도 미상 · CVSS 미상 · EPSS 0.00171 · 악용난이도 hard
🔍 공격 기법
(1) 트리거 조건: mptcp_pm_del_add_timer() 함수가 실행되는 도중, 다른 프로세스나 스레드가 해당 엔트리를 이미 해제(free)한 상태에서 sk_stop_timer_sync()를 호출하여 이미 해제된 메모리 영역에 접근할 때 발생함.
(2) 공격 단계:
- 정찰: 대상 시스템의 커널 버전 및 MPTCP(MultiPath TCP) 활성화 여부 확인.
- 초기접근: 네트워크 패킷을 통해 MPTCP 옵션이 포함된 트래픽 전송.
- 실행/권한 획득:
mptcp_incoming_options→mptcp_pm_del_add_timer경로를 타게 하여 Race Condition 유도 $\rightarrow$ Slab-Use-After-Free(UAF) 트리거 $\rightarrow$ 추정: 커널 메모리 오염을 통한 임의 코드 실행 또는 권한 상승 시도. - 지속/영향: 커널 패닉(DoS) 유발 또는 커널 권한 획득 후 백도어 설치.
(3) 공격 표면: MPTCP 프로토콜 스택, 특히mptcp_incoming_options함수가 처리하는 네트워크 패킷의 옵션 필드.
(4) CVSS 벡터 연결 (추정): AV:N (네트워크를 통해 패킷 전송 가능), AC:H (Race Condition 타이밍 정밀 제어 필요), PR:N (인증 불필요), UI:N (사용자 상호작용 불필요).
악용 가능성: 본 취약점은 Linux kernel의 MPTCP(Multi-Path TCP) 스택 내 mptcp_pm_del_add_timer() 함수에서 발생하는 Race Condition으로, 공격 난이도는 Hard로 평가됩니다. 공격자는 네트워크 패킷을 통해 타이머 삭제와 참조 시점을 정밀하게 제어하여 Slab Use-After-Free(UAF)를 유도해야 하며, 이는 매우 좁은 Timing Window 내에서 트리거되어야 함을 의미합니다. EPSS 수치가 0.00171로 낮고 KEV에 등재되지 않은 점은 현재 야생(In-the-wild)에서 무기화된 익스플로잇이 발견되지 않았음을 시사하며, 이론적 심각도보다 실전 악용 가능성이 현저히 낮음을 뒷받침합니다. 공격 표면은 MPTCP 프로토콜을 사용하는 네트워크 엔드포인트이며, 구체적으로는 커널 내부의 mptcp_worker 워크큐와 타이머 관리 로직이 타겟이 됩니다. 결과적으로 외부에서 조작된 패킷으로 커널 메모리 오염을 일으키려면 정밀한 레이스 컨디션 유도가 필수적이므로, 단순한 원격 실행보다는 권한 상승(LPE)이나 서비스 거부(DoS)를 위한 체이닝 단계로 활용될 가능성이 큽니다.
💥 영향 분석
(1) 기술적 위험:
- 서비스 중단: KASAN 리포트에서 확인된
slab-use-after-free로 인한 커널 패닉 및 시스템 크래시. - 권한 상승: UAF 취약점을 이용해 커널 메모리 구조체를 조작할 경우, 비특권 사용자가 루트(root) 권한을 획득할 가능성 존재.
(2) 비즈니스 영향: MPTCP를 사용하는 고가용성 네트워크 서비스의 가용성 상실 및 시스템 전체 제어권 탈취로 인한 데이터 유출 위험.
🔗 관련 취약점·체이닝
- 체이닝 경로: 추정: [네트워크 패킷 조작] $\rightarrow$ [Race Condition 트리거] $\rightarrow$ [Slab UAF] $\rightarrow$ [커널 힙 스프레이(Heap Spraying)를 통한 객체 재배치] $\rightarrow$ [함수 포인터 덮어쓰기] $\rightarrow$ [권한 상승/RCE].
- 유형 수준: Race Condition과 Use-After-Free가 결합된 형태이며, 이는 전형적인 커널 메모리 손상 패턴임.
🔎 탐지
(1) 로그 지표: dmesg 또는 /var/log/syslog 내 KASAN 리포트 및 BUG: KASAN: slab-use-after-free in __timer_delete_sync 문자열 포함 여부.
(2) 탐지 규칙:
- 로직 1 (커널 로그):
grep -E "slab-use-after-free.*__timer_delete_sync" /var/log/kern.log - 로직 2 (SIEM):
event_id == KERNEL_LOG AND message CONTAINS "mptcp_pm_del_add_timer"
(3) 오탐 시나리오: 하드웨어 결함이나 다른 커널 버그로 인한 UAF 발생 가능성. MPTCP 관련 함수 호출 스택(mptcp_incoming_options)이 함께 나타나는지 확인하여 튜닝.
🛡️ 완화 방안
- 즉시(긴급 차단): 시스템에서 MPTCP 기능 비활성화 (
sysctl -w net.mptcp.enabled=0). (난이도: 하 / 영향: MPTCP 사용 불가 / 검증:sysctl값 확인) - 단기(완화): 네트워크 방화벽/IPS에서 비정상적인 MPTCP 옵션을 포함한 패킷 필터링. (난이도: 중 / 영향: 정상 MPTCP 통신 간섭 가능성 / 검증: 트래픽 캡처 분석)
- 근본(해결): RCU protection 및
stop_timer불리언 수정이 적용된 최신 Linux 커널로 업데이트. (난이도: 중 / 영향: 재부팅 필요 / 검증:uname -r버전 확인)
[파이프라인 근거] 본 분석은 다중 소스 교차검증을 통해 MPTCP 내 Race Condition 및 UAF 발생 사실의 일관성을 확인했습니다. EPSS 0.00171(백분위 0.0672)은 실제 악용 가능성이 현재 매우 낮음을 의미하며, exploit 등급 'hard'와 non-KEV 상태를 종합하여 우선순위를 'monitor'로 결정하였습니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=미상 · non-KEV · EPSS=0.00171 · exploit=hard · in_scope=None