[공격] 분석 — CVE-2025-71113
CVE-2025-71113 is a local kernel flaw in the af_alg crypto subsystem where uninitialized memory can cause sporadic -EBUSY failures and, when combined with heap‑spray techniques, may lead to privilege escalation; immediate mitigation is to block AF_ALG socket usage until kernels are patched.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00123 · 악용난이도 hard
🔍 공격 기법
-
공격 전제
- 대상 시스템이 Linux 커널 2.6.38.1 ~ 6.18.3 중 하나를 실행하고 있다. (다중 소스에서 일관성이 확인됐다)
socket(AF_ALG, …)호출이 가능한 로컬 사용자(특권 낮음, PR:L).
-
트리거 조건
sock_kmalloc()로 할당된af_alg_ctx구조체가memset(0)없이 사용됨.- 새로 추가된
inflight필드에 쓰레기 값이 남아ctx->inflight가 true 로 오인될 경우,af_alg_alloc_areq()가-EBUSY를 반환한다.
-
공격 단계
- 정찰 –
uname -r,/proc/sys/kernel/osrelease로 커널 버전 확인;cat /proc/net/crypto등으로 af_alg 지원 여부 파악. - 초기 접근 –
socket(AF_ALG, SOCK_SEQPACKET, 0)으로 컨텍스트 할당,bind()에서 원하는 알고리즘(예: “aes”) 지정. - 실행·권한 획득 –
- DoS : 연속적인 요청을 전송해
-EBUSY가 빈번히 발생하도록 하여 커널 내부 대기 큐를 포화시킴. - LPE 가능성 : 동일 프로세스 또는 다른 로컬 프로세스가 힙 스프레이(
mmap,malloc) 를 수행해sock_kmalloc()영역에 원하는 패턴을 배치하고,inflight값이 해당 패턴을 읽어들여 커널 힙 레이아웃을 추론·조작한다. 이후 기존의 커널 힙 오버플로우/Use‑After‑Free 취약점과 결합하면 함수 포인터 덮어쓰기 등으로 권한 상승이 가능하다.
- DoS : 연속적인 요청을 전송해
- 지속 – 성공적인 LPE 후
root쉘 획득, 시스템 서비스 재시작 혹은 커널 모듈 로드로 영구화. - 영향 – 서비스 중단(DoS) 또는 전체 시스템 권한 장악(LPE).
- 정찰 –
-
공격 표면
- 노출 엔드포인트:
socket(AF_ALG, …)시스템 콜,bind()/setsockopt()로 전달되는 알고리즘 이름 및 옵션. - CVSS 벡터와 매핑: AV:L (로컬), AC:L (쉬운 난이도), PR:L (낮은 권한), UI:N (사용자 입력 없음) → 공격자는 별도의 사용자 상호작용 없이 자동화 가능.
- 노출 엔드포인트:
악용 가능성: 이 취약점은 AV:L 으로 로컬 접근만 있으면 충분하므로, 공격자는 이미 호스트에 실행 중인 프로세스를 확보해야 합니다. PR:L 조건에 따라 비특권 사용자도 AF_ALG 소켓 API를 호출할 수 있어, 특수 권한 없이도 악용이 가능합니다. AC:L 으로 복잡도가 낮아, 특별한 레이스나 타이밍 조작 없이 sock_kmalloc() 로 할당된 컨텍스트에 잘못된 파라미터(예: 비정상적인 inflight 값)를 전달하면 초기화되지 않은 메모리가 사용됩니다. EPSS = 0.00123 이라는 실측 확률과 KEV 미등재는 현재까지 실제 공격이 관찰되거나 활발히 악용되는 사례가 거의 없음을 의미합니다. 노출된 공격 표면은 AF_ALG 소켓 인터페이스와 ioctl/sendmsg 등을 통해 생성되는 암호화 컨텍스트이며, 특히 사용자‑공간에서 AIO 요청을 시작할 때 초기화되지 않은 구조체 필드가 활용됩니다. 공격자는 로컬에서 악성 프로그램을 실행해
💥 영향 분석
- DoS :
-EBUSY반환이 빈번해지면 af_alg 기반 암호 서비스(예: IPsec, TLS offload)가 비정상 종료되거나 응답 지연이 발생한다. - 권한 상승 : 메모리 초기화 결함을 힙 스프레이와 결합하면 커널 힙 구조를 조작해 임의 코드 실행이 가능하므로, 공격자는 루트 권한을 획득하고 전체 시스템을 장악할 수 있다.
🔗 관련 취약점·체이닝
- 유형: CWE‑457 (Initialization of Variable) → 메모리 오염 → 힙 레이아웃 추론/조작.
- 가능한 체인:
CVE‑2024‑####(가정)와 같은 커널 힙 오버플로우 취약점 + 본 CVE 의 미초기화 메모리 → 함수 포인터 덮어쓰기 → 권한 상승.CVE‑2023‑####(예: netfilter heap use‑after‑free) 와 결합 시, 동일 힙 영역을 재사용해inflight값이 공격자가 제어하는 데이터가 되면 LPE 가능.
- 추정: 현재 공개된 직접 연계 CVE는 없으나, 메모리 초기화 미비는 대부분의 커널 힙 기반 권한 상승 시나리오와 결합될 위험성이 높다.
🔎 탐지
- 커널 로그:
af_alg_alloc_areq가-EBUSY를 반환하는 메시지가 비정상적으로 빈번할 경우. - Auditd/Tracepoint:
sys_enter_socket이벤트에서AF_ALG(family=38) 호출을 모니터링하고, 연속적인bind/setsockopt시도와 결합된 실패 로그를 경보로 설정. - 메모리 할당 패턴: kmemleak 혹은 eBPF 기반 힙 할당 추적에서
sock_kmalloc호출이 급증하고 바로 해제되지 않는 경우 감지.
🛡️ 완화 방안
- 패치 적용: 커널 2.6.38.1 ~ 6.18.3 모든 버전에 포함된 upstream 패치를 배포하여
sock_kmalloc후memset(0)수행하도록 업데이트한다. - 표면 차단: 패치 전까지는
sysctl -w net.crypto.af_alg=0(존재 시) 혹은 LSM/Seccomp 정책으로socket(AF_ALG, …)시스템 콜을 비특권 프로세스에서 차단한다. - 권한 제한:
/etc/sysctl.conf에kernel.kptr_restrict = 2등 커널 메모리 정보 노출 최소화와 함께,CAP_NET_ADMIN권한이 없는 사용자에게 AF_ALG 사용을 금지한다. - 감시 강화: 위 탐지 지표를 SIEM에 연동해 실시간 알림을 설정하고, 비정상적인 af_alg 호출이 감지되면 해당 프로세스를 격리·종료한다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00123 · exploit=hard · in_scope=None