[분석가] 분석 — CVE-2025-21718
CVE-2025-21718 is a high‑severity local use‑after‑free in the Linux rose timer that can allow a low‑privilege attacker to gain full kernel control; apply the upstream patch immediately.
📋 요약
- 심각도 high · CVSS 7.8 · EPSS 0.00163 · 악용난이도 hard
🔍 공격 기법
Rose 타이머가 소켓 스핀락만 획득하고 해당 소켓이 현재 사용자 스레드에 의해 점유되어 있는지를 확인하지 않아, 타이머 만료 시점에 이미 해제된 구조체를 참조하는 use‑after‑free 가 발생합니다. 로컬 저권한 프로세스가 ROSE 프로토콜(net/rose 모듈) 소켓을 생성하고, 타이머 콜백과 사용자 스레드 사이에서 레이스 조건을 유도하면 커널 메모리 손상이 일어나며, 조작된 포인터를 통해 임의 코드를 실행해 전체 시스템을 장악할 수 있습니다. 공격 전제는 해당 커널에 rose 모듈이 로드돼 있어야 하며, 특권 상승 없이도 로컬에서 수행됩니다.
악용 가능성: 이 취약점은 CVSS 벡터 AV:L/AC:L/PR:L/UI:N 로 표시되므로, 공격자는 로컬 시스템에 접근해 낮은 복잡도로(특정 타이밍 레이스만 맞추면) 권한이 제한된 사용자 계정으로도 시도를 할 수 있습니다. 그러나 실제로는 ROSE 프로토콜을 활성화하고 해당 소켓을 생성한 상태에서 타이머와 사용자 스레드 간의 경쟁 조건을 정밀히 조작해야 하며, 이는 커널 레벨에서 극히 짧은 윈도우를 포착하는 고난도의 시나리오입니다. EPSS 값이 0.00163(≈0.16 %)에 불과하고 KEV 데이터베이스에도 등재되지 않은 점을 보면, 현재까지 관측된 악용 사례가 거의 없으며 위협이 이론적 수준에 머물고 있음을 확인할 수 있습니다. 공격 표면은 ROSE 네트워크 스택(net/rose 모듈)과 해당 소켓의 타이머 설정 파라미터이며, 해당 프로토콜을 사용하지 않는 일반적인 Linux 배포판에서는 노출이 제한됩니다. 따라서 로컬 접근 권한만으로도 공격 가능하다는 점은 존재하지만, 실제로 성공하려면 커널 내부 구조와 레이스 타이밍에 대한 깊은 이해가 필요해 난이도가 높게 평가되었습니다. 이러한 조건을 모두 만족시키는 환경이 드물기 때문에 “hard” 등급이 적절히 유지됩니다.
💥 영향 분석
- 기술적 위험:
- 메모리 손상으로 인한 커널 코드 실행 → 시스템 전체 장악 (C:H/I:H/A:H)
- KASAN 보고서에 나타나는
slab-use-after-free는 즉시 OOPS를 일으키며, 성공 시 데이터 유출·조작·서비스 중단이 동시에 발생합니다.
- 영향 제품 및 규모:
- Linux 커널 2.6.12 ~ 6.1.129, 6.2 ~ 6.6.76, 6.7 ~ 6.12.13, 6.13 ~ 6.13.2 전 버전에 적용돼 광범위한 서버·클라우드·임베디드 환경에 존재합니다.
- 비즈니스 리스크:
- 시스템 가용성 상실 → 서비스 중단 및 SLA 위반
- 민감 데이터 손실·조작 가능 → 규제·컴플라이언스 위반 위험 (예: GDPR, PCI‑DSS)
- 신뢰도 훼손으로 인한 고객 이탈 및 브랜드 이미지 하락
🔗 관련 취약점·체이닝
- 동일 CWE‑416(Use‑After‑Free) 패턴을 보이는 네트워크 스택 취약점과 연계될 경우, 초기 권한 상승 후 다른 커널 모듈의 취약점을 추가로 악용할 수 있습니다. 현재 확인된 구체적인 CVE 번호는 없습니다.
🔎 탐지
- 커널 로그:
KASAN: slab-use-after-free와 함께rose_timer_expiry함수 주소가 기록되는 경우 - 오류 메시지:
BUG: KASAN:로 시작하는 OOPS 로그에net/rose/rose_timer.c:174가 포함될 때 경보 발생 - eBPF/tracepoint:
timer_expire_entry및net_rose_sock_create트레이스포인트를 모니터링하여 비정상적인 타이머 재설정 시도 감지 - 시그니처 예시 (로그 기반):
text1KASAN: slab-use-after-free.*rose_timer_expiry
🛡️ 완화 방안
- 패치 적용 – 최신 커널(또는 배포판에서 제공하는 보안 업데이트)으로 업그레이드하여
rose타이머에 소켓 소유권 검사와 재설정 로직이 포함된 패치를 적용합니다. - 모듈 비활성화 – 패치가 불가능한 환경에서는
modprobe -r rose또는/etc/modprobe.d/blacklist.conf에blacklist rose를 추가해 ROSE 모듈 로드를 차단합니다. - 권한 제한 – SELinux/AppArmor 정책을 통해 비신뢰 사용자에게
AF_ROSE소켓 생성 권한을 부여하지 않도록 설정합니다. - 모니터링 강화 – 위 탐지 항목을 SIEM·로그 수집 시스템에 연동하고, KASAN 경보 발생 시 자동 티켓/알림 프로세스를 구축합니다.
- 우선순위 근거 – 다중 소스에서 일관성이 확인된(교차검증) 고위험(CVSS 7.8) 취약점이며, EPSS 0.00163·hard 등급이 가리키는 바와 같이 실제 악용 가능성은 낮지만 공격 난이도가 높아 사전 차단이 필요합니다. 따라서 이번 주 내(스케줄) 패치 및 방어 조치를 권고합니다.
⚖️ 위험도 / 우선순위
- 조치: scheduled (이번 주 내)
- 근거: CVSS=7.8 · non-KEV · EPSS=0.00163 · exploit=hard · in_scope=None