[공격] 분석 — CVE-2026-23450
Remote race condition in Linux kernel SMC implementation enables NULL dereference or UAF, requiring immediate patching or disabling of the SMC protocol to prevent remote kernel panic and potential RCE.
📋 요약
- 심각도 critical · CVSS 9.8 · EPSS 0.0056 · 악용난이도 moderate
🔍 공격 기법
본 취약점은 net/smc 모듈의 smc_tcp_syn_recv_sock() 함수에서 발생하는 Race Condition 기반의 Memory Corruption이다.
-
공격 표면 및 트리거:
- 노출 엔드포인트: SMC(Shared Memory Communications) 프로토콜이 활성화된 TCP 리스닝 소켓 (
clcsock). - 트리거 조건: 공격자가 원격에서
TCP SYN패킷을 전송하는 시점과, 서버 내부의 프로세스가 해당 리스닝 소켓을 닫는(smc_close_active()) 시점이 정밀하게 겹쳐야 함. - 결함 원리: CPU A(softirq)가
tcp_v4_rcv()$\rightarrow$smc_tcp_syn_recv_sock()경로로 진입하여sk_user_data를 참조하려 할 때, CPU B(process ctx)가sk_callback_lock하에서 이를 NULL로 설정하고smc_release()를 통해smc_sock객체를 해제함.
- 노출 엔드포인트: SMC(Shared Memory Communications) 프로토콜이 활성화된 TCP 리스닝 소켓 (
-
공격 체인 및 단계:
- 정찰: 대상의 커널 버전 확인 및 SMC 프로토콜 활성화 여부 스캔. (추정: 특정 하드웨어 가속기나 인터페이스 설정 확인)
- 초기 접근: 네트워크를 통해 특수하게 조작된
TCP SYN패킷 시퀀스를 송신하여 Race Condition 유도. (AV:N/AC:L/PR:N/UI:N조건으로 인증 없이 외부망에서 접근 가능) - 실행 (Primitive 확보):
- NULL Dereference:
sk_user_data가 NULL인 상태에서 참조 $\rightarrow$ 즉각적인 Kernel Panic 유발 (DoS). - Use-After-Free (UAF):
sk_user_data를 읽었으나, 내부 필드(queued_smc_hs,ori_af_ops)에 접근하기 직전에 객체가 해제됨 $\rightarrow$ 댕글링 포인터를 통한 메모리 오염 가능성 확보.
- NULL Dereference:
- 영향: UAF 발생 시 커널 힙 레이아웃 조작(Heap Grooming)을 통해 해제된 영역에 공격자 제어 데이터를 배치, 실행 흐름을 가로챔.
악용 가능성: 본 취약점은 AV:N/AC:L/PR:N/UI:N 벡터가 가리키듯, 인증되지 않은 원격 공격자가 특수하게 조작된 TCP 패킷을 전송함으로써 네트워크 경계에서 즉각적으로 트리거할 수 있는 구조입니다. 공격 표면은 Linux 커널의 SMC(Shared Memory Communications) 프로토콜 스택이며, 구체적으로는 clcsock 리스닝 소켓의 TCP 수신 경로 내 smc_tcp_syn_recv_sock() 함수가 핵심 타겟입니다. 공격자는 SMC 연결 요청을 보내는 동시에 대상 소켓이 닫히도록 유도하는 Race Condition 상황을 만들어, sk_user_data에 대한 NULL Pointer Dereference 또는 Use-After-Free(UAF)를 유발할 수 있습니다. EPSS 수치가 0.0056으로 낮고 KEV에 등재되지 않은 점은 현재 야생에서 자동화된 공격 도구가 보급되지 않았음을 의미하지만, 커널 패닉을 통한 원격 DoS(Denial of Service)는 매우 낮은 난이도로 실현 가능합니다. 다만, UAF를 이용한 임의 코드 실행이나 권한 상승으로 확장하기 위해서는 커널 메모리 레이아웃을 예측하고 힙 스프레이 등을 통해 할당된 메모리 영역을 정교하게 제어해야 하므로 실제 익스플로잇 난이도는 Moderate 수준으로 판단됩니다. 결과적으로 이론적 심각도보다 실전에서의 악용 가능성은 시스템 가용성 파괴(DoS)에 집중되어 있으며, 이는 외부 노출된 SMC 엔드포인트가 존재하는 환경에서 즉각적인 위협이 됩니다.
💥 영향 분석
- 가용성 파괴 (DoS): 가장 가능성이 높으며 즉각적인 Kernel Panic으로 시스템이 다운됨.
- 권한 탈취 및 원격 코드 실행 (RCE): UAF를 정밀하게 제어하여 커널 객체를 덮어쓸 경우, 원격에서 커널 권한의 임의 코드를 실행하여 시스템 전체 제어권을 획득할 수 있음.
🔗 관련 취약점·체이닝
단순 패닉을 넘어 실질적인 침투로 이어지기 위해 다음과 같은 체이닝 경로가 추정됨:
- Information Leak $\rightarrow$ UAF Exploit: KASLR(Kernel Address Space Layout Randomization)을 우회하기 위해, 커널 주소를 유출하는 별도의 취약점과 체이닝하여 UAF 지점에서 정확한 페이로드 주소를 참조하게 함.
- UAF $\rightarrow$ Privilege Escalation (LPE):
smc_sock구조체 내의 함수 포인터나 객체 필드를 덮어쓰는 방식으로 제어 흐름을 조작함. (추정: Memory-Corruption 유형 특성상 Heap Spraying 기법과 결합하여 커널 권한 상승 유도)
🔎 탐지
- 커널 로그:
dmesg또는/var/log/syslog에서smc_tcp_syn_recv_sock()관련 NULL pointer dereference, General Protection Fault(GPF), 혹은 'kernel panic' 시그니처 모니터링. - 시스템 감사:
auditd를 통해 커널 Oops 메시지 및 비정상적인 시스템 크래시 패턴 수집.
🛡️ 완화 방안
- 근본 해결: 영향받는 광범위한 버전(5.15.174~6.19.10 등)의 최신 보안 패치 적용. (다중 소스에서 일관성이 확인된 Critical 취약점이므로 즉시 조치 권고)
- 임시 완화:
- SMC 프로토콜 비활성화: 커널 파라미터
smc.disable=1적용 (가용성 영향도 검증 후 결정). - 불필요한 경우 SMC 모듈 언로드하여 공격 표면 제거.
- SMC 프로토콜 비활성화: 커널 파라미터
[분석 근거] 본 리포트는 다중 소스 교차검증을 통해 데이터 일관성이 확인되었습니다. 실측 EPSS 0.0056(moderate)은 현재 대규모 자동화 익스플로잇이 발견되지 않았음을 뜻하지만, CVSS 9.8의 이론적 심각도와 광범위한 영향 제품 범위를 고려하여 'scheduled'(이번 주 내) 우선순위로 대응을 권고합니다.
⚖️ 위험도 / 우선순위
- 조치: scheduled (이번 주 내)
- 근거: CVSS=9.8 · non-KEV · EPSS=0.0056 · exploit=moderate · in_scope=None