[공격] 분석 — CVE-2025-71131
A Use-After-Free (UAF) in the Linux kernel's crypto:seqiv module allows local attackers to trigger a system crash or potential privilege escalation by dereferencing
req->ivafter asynchronous completion.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00114 · 악용난이도 hard
🔍 공격 기법
본 취약점은 crypto_aead_encrypt 함수 호출 이후, 비동기 완료(asynchronous completion)로 인해 이미 해제된 request 구조체의 iv 포인터를 참조할 때 발생하는 Use-After-Free (UAF) 결함이다.
- 공격 표면 및 트리거:
- 노출 지점: Linux Kernel Crypto API (
crypto: seqiv). - 트리거 조건:
crypto_aead_encrypt를 호출하는 커널 모듈이나 드라이버가 존재해야 하며, 해당 요청이 비동기적으로 처리되어 메모리가 해제된 직후req->iv에 접근하는 레이스 컨디션(Race Condition)을 유발해야 함.
- 노출 지점: Linux Kernel Crypto API (
- 공격 체인 및 전제 조건:
- 초기 접근 (Local Access): CVSS 벡터
AV:L/PR:L에 따라, 공격자는 이미 시스템에 로그인한 일반 사용자 권한이 필요함. - 실행 (Triggering UAF): AEAD 암호화 요청을 생성하고 비동기 처리를 유도하여
request객체가 free 되도록 함 $\rightarrow$ 이후 커널이 해제된 메모리 영역(req->iv)을 참조하도록 강제함. - 영향 (Impact): 잘못된 메모리 참조로 인한 Kernel Panic(DoS) 유발. 추정: 공격자가 해제된 메모리 영역(Slab)을 제어 가능한 데이터로 재채우기(Heap Spraying)에 성공한다면, 임의 주소 참조를 통한 권한 상승으로 이어질 수 있음.
- 초기 접근 (Local Access): CVSS 벡터
- 공격 난이도 분석:
AC:L(낮은 복잡도)이나AV:L/PR:L조건 및 비동기 타이밍을 맞춰야 하는 특성상 실측 악용 등급은hard로 평가됨.- EPSS 수치가 $0.00114$로 매우 낮으며 이는 실제 야생(Wild)에서 이 취약점을 단독으로 악용한 사례가 거의 없음을 의미함.
악용 가능성: 본 취약점은 AV:L 및 PR:L 조건으로 인해 로컬 권한을 가진 공격자가 커널 내부의 메모리 오염을 유도해야 하므로 공격 난이도는 Hard로 판정됩니다. 공격 표면은 Linux Kernel의 crypto: seqiv 모듈 내 crypto_aead_encrypt 함수 호출 이후 발생하는 Use-After-Free(UAF) 지점이며, 비동기 완료 처리 과정에서 req->iv 포인터가 해제된 후 참조되는 시점이 트리거 조건입니다. EPSS 수치가 0.00114로 매우 낮고 KEV에 등재되지 않은 점은 현재 야생(In-the-wild)에서 자동화된 익스플로잇이 유포되지 않았음을 의미하지만, 커널 레벨의 메모리 손상은 이론적 심각도와 별개로 성공 시 즉각적인 권한 상승으로 이어질 수 있는 치명적인 위협입니다. 공격자는 특정 암호화 요청을 생성하고 비동기 처리 타이밍을 정밀하게 조작하는 Race Condition을 유도하여 req->iv가 가리키는 메모리 영역을 제어 가능한 데이터로 덮어써야 합니다. 결과적으로 이 취약점은 단순한 API 호출만으로는 불가능하며, 커널 슬랩(Slab) 할당자의 특성을 이용한 Heap Spraying 등 고도의 메모리 조작 기법이 수반되어야 실제 악용이 가능합니다.
💥 영향 분석
- 가용성 파괴: 잘못된 포인터 참조로 인한 커널 크래시 및 시스템 중단 (DoS).
- 권한 상승 (추정): UAF 영역의 메모리 재배치를 통해 커널 실행 흐름을 제어할 경우 일반 사용자에서 Root 권한 획득 가능.
🔗 관련 취약점·체이닝
본 결함은 단독으로 RCE를 일으키기보다 다른 커널 취약점과 체이닝될 가능성이 높다.
- 정보 유출 $\rightarrow$ UAF: 추정: 커널 메모리 주소를 누출시키는 정보 노출(Information Leak) 취약점과 결합하여 KASLR을 우회한 뒤, 본 UAF를 통해 정밀하게 타겟팅된 함수 포인터를 덮어쓰는 시나리오가 가능하다.
- Heap Spraying $\rightarrow$ 권한 상승:
kmalloc등을 이용해 해제된request구조체 자리에 공격자가 제어하는 가짜 객체를 배치하는 기법과 체이닝하여 실행 흐름을 탈취할 수 있다. - 패턴 분석: 전형적인 '비동기 콜백 처리 미흡 $\rightarrow$ Use-After-Free' 패턴으로, 메모리 관리 생명주기와 함수 반환 시점의 불일치를 이용하는 공격 유형이다.
🔎 탐지
- 커널 로그 모니터링:
KASAN(Kernel Address Sanitizer)이 활성화된 환경에서use-after-free경고 및crypto_aead_encrypt관련 스택 트레이스 확인. - 패턴 예시: 커널 덤프 내에서
req->iv참조 시점의 메모리 상태가FREE또는 다른 객체로 할당되어 있는지 분석.
🛡️ 완화 방안
- 근본 해결: 영향받는 Linux Kernel 버전(2.6.25.1 ~ 6.18.4 등 광범위한 범위)을 최신 보안 패치가 적용된 버전으로 업데이트. (
req->iv대신unaligned_info로컬 변수를 사용하도록 수정된 패치 적용) - 즉시 조치: 불필요한 커널 암호화 모듈의 로드를 제한하거나, 비특권 사용자의 커널 API 접근 권한을 최소화하여 공격 표면 축소.
분석 근거: 본 리포트는 다중 소스 교차검증을 통해 데이터 일관성이 확인되었으며, 실측 EPSS($0.00114$)와 CVSS(5.5), AV:L/PR:L 벡터를 근거로 우선순위를 monitor로 결정한 규칙 기반 분석 결과입니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00114 · exploit=hard · in_scope=None