[분석가] 분석 — CVE-2026-31466
CVE-2026-31466 is a local race condition in Linux kernel THP handling that can trigger a kernel panic, and the primary mitigation is to apply the upstream patched kernel while monitoring for related OOPS events.
📋 요약
- 심각도 medium · CVSS 4.7 · EPSS 0.00094 · 악용난이도 hard
🔍 공격 기법
Linux 커널의 mm/huge_memory 모듈에서 mTHP(transparent huge page) 분할 중 softleaf_to_folio()에 메모리 배리어가 누락되어, deferred_split_scan()와 zap_nonpresent_ptes() 사이에 경쟁 상태가 발생합니다. 이 레이스는 ARM64 서버에서만 관찰되며, 로컬 저특권 사용자(L)도 정확한 타이밍을 맞추면 잠금되지 않은 folio를 사용하게 만들어 페이지 플래그 불일치 → 커널 OOPS/패닉을 일으킵니다. 공격 성공에는 높은 복잡도(AC:H)가 요구됩니다.
악용 가능성: 이 취약점은 AV:L (로컬) 및 UI:N (사용자 상호작용 없음)으로, 공격자는 대상 시스템에 직접 접근해야 하며 별도의 사회공학적 단계가 필요하지 않습니다. AC:H (높은 복잡도)와 PR:L (낮은 권한) 조합은, 메모리 관리 루틴 간의 레이스 상황을 정확히 재현하고 타이밍을 맞추어야만 성공할 수 있음을 의미하지만, 관리자 권한 없이도 로컬 사용자가 트리거할 가능성을 내포합니다. EPSS 값이 0.00094 로 매우 낮고 KEV 에 등재되지 않은 점은 현재까지 실제 악용 사례가 거의 관측되지 않았으며, 이론적 위험과는 별도로 실질적인 위협 수준이 제한적임을 보여줍니다. 공격 표면은 arm64 서버의 Linux 커널 메모리 서브시스템이며, mTHP 분할 과정과 zap_nonpresent_ptes() 가 동시에 진행될 때 softleaf_to_folio() 함수에서 메모리 장벽이 누락되는 상황에 국한됩니다. 따라서 취약을 악용하려면 해당 커널 버전이 실행 중인 시스템에 로컬 접근 권한을 확보하고, 정확히 그 레이스 조건을 유발할 수 있는 특수한 워크로드를 구성해야 합니다. 이러한 전제조건과 복잡성을 고려하면 공격 난이도는 hard 으로 평가됩니다.
💥 영향 분석
- 기술적 위험: unlocked folio가 사용되면서 페이지 구조가 손상되고, 최종적으로 커널 패닉이 발생합니다. 이는 시스템 전체 가용성을 상실하게 하여 서비스 중단(Denial‑of‑Service)으로 이어집니다. CVSS 벡터
A:H와 일치하며 기밀성·무결성에는 영향을 주지 않습니다. - 비즈니스 리스크:
- 단일 호스트 장애가 발생하면 해당 노드에 배포된 모든 워크로드(컨테이너, VM 등)가 중단되어 SLA 위반 및 매출 손실 위험이 있습니다.
- 다중 테넌트 환경에서는 동일 물리 노드의 다른 고객 서비스까지 영향을 받을 가능성이 추정됩니다.
- 영향 제품·노출 규모: Linux 커널 4.5‑6.19.11 전 버전에 존재하며, 주요 배포판 및 컨테이너 이미지에 광범위하게 포함될 수 있습니다(품질 신호에 의해 확인).
- 악용 가능성: EPSS 0.00094(백분위 0.00716)로 실제 악용 사례는 매우 낮은 편이며, KEV 등재도 없습니다. 따라서 우선순위는 “monitor”(모니터링)으로 결정되었습니다[우선순위 결정].
🔗 관련 취약점·체이닝
- 메모리 배리어 누락에 의한 레이스 조건은 CWE‑362(공동 자원 접근 시 동기화 부재)와 유사합니다.
- 동일 커널 구조를 이용한 다른 레이스 기반 취약점(CWE‑667 등)과 연계될 경우, 추가적인 권한 상승이나 메모리 손상 공격으로 확장될 추정이 있습니다.
🔎 탐지
dmesg·journalctl -k에서"softleaf_to_folio"혹은"folio unlocked"와 같은 OOPS 메시지를 실시간 모니터링합니다.- eBPF/kprobe를 이용해
softleaf_to_folio진입 시점과zap_nonpresent_ptes호출 사이의 메모리 배리어 플래그(PG_locked) 상태 변화를 추적하고, 비정상적인 해제 이벤트 발생 시 경보를 생성합니다. - 정규식 예시:
(?i)softleaf_to_folio.*(unlocked|warning)
🛡️ 완화 방안
- 즉시 조치: 배포판 제공업체의 최신 커널 패치를 적용하여
softleaf_to_folio에 누락된smp_rmb()를 포함한 업데이트를 설치합니다. - 임시 회피: 투명 큰 페이지(THP)를 비활성화(
sysctl -w vm.nr_hugepages=0또는 부팅 시transparent_hugepage=never)하여 해당 경로의 레이스 상황을 차단합니다. - 장기 대책: 정기적인 커널 보안 업데이트 정책을 수립·자동 적용하고, 가능하면 live‑patch(예: ksplice)나 무중단 롤링 리부트를 활용해 재부팅 없이 패치를 배포합니다. 또한 위 탐지 규칙을 SIEM에 연동하여 OOPS 발생 시 신속히 대응하도록 합니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=4.7 · non-KEV · EPSS=0.00094 · exploit=hard · in_scope=None