[분석가] 분석 — CVE-2026-31533
CVE-2026-31533 is a critical use‑after‑free in Linux kernel TLS encryption that can lead to remote code execution or system crash, and operators should apply the upstream kernel patch immediately.
📋 요약
- 심각도 critical · CVSS 9.8 · EPSS 0.00388 · 악용난이도 moderate
🔍 공격 기법
tls_do_encryption()에서 암호화 요청이 -EBUSY 를 반환하면 백로그에 큐가 삽입되고, 비동기 콜백tls_encrypt_done()이 호출됩니다.- 오류 경로와 동기 경로 양쪽에서
encrypt_pending과 scatterlist 항목을 두 번 정리하면서 카운터가 이중 감소하고 엔트리가 복원되어encrypt_pendingsentinel(초기값 1)이 손상됩니다. - 손상된 sentinel 로 인해
tls_encrypt_async_wait()가 비동기 콜백 대기를 건너뛰고, 이후sendmsg()호출 시 아직 살아있는 콜백이tls_rec구조체를 해제한 뒤 접근하게 되어 use‑after‑free 가 발생합니다. - 공격자는 kTLS가 활성화된 엔드포인트에 조작된 TLS 패킷을 전송함으로써 이 경로를 트리거하고, 커널 메모리 손상을 이용해 루트 권한의 임의 코드 실행(RCE) 또는 시스템 크래시(DoS)를 유발할 수 있습니다.
악용 가능성: 이 취약점은 네트워크를 통해 접근 가능한 Linux 커널 TLS 스택에서 발생하므로 공격자는 원격으로 패킷을 전송하기만 하면 됩니다(AV:N). 오류 경로인 ‑EBUSY 처리가 트리거될 때만 double‑free가 일어나기 때문에, 정상적인 TLS 연결 흐름을 재현하고 암호화 요청이 백로그에 적재되는 상황을 유도하면 복잡도가 낮아집니다(AC:L). 공격자는 시스템 권한이나 사용자 개입 없이도 커널 메모리를 조작할 수 있으므로 권한 요구가 없습니다(PR:N, UI:N). EPSS = 0.00388이라는 실측값은 현재 관찰된 악용 사례는 거의 없지만, 완전히 배제되지 않는 위험을 의미합니다(KEV 미등재). 실제 공격 조건은 TLS 연결 중 암호화 요청이 ‑EBUSY를 반환하고, 이후 비동기 콜백과 동기 오류 처리 경로가 겹쳐 encrypt_pending 카운터와 scatterlist 엔트리를 이중 해제하도록 만드는 타이밍을 맞추는 것입니다. 따라서 난이도는 “low complexity”에 해당하지만, 특정 시점에 백로그가 활성화된 환경에서만 성공 가능하므로 전반적인 악용 가능성은 moderate 수준으로 평가됩니다.
💥 영향 분석
- 기술적 위험
- UAF 로 인한 커널 메모리 손상 → 특권 상승 및 원격 코드 실행 가능 (CVSS 9.8).
- 비동기 콜백이 남은 상태에서 구조체가 해제되면 시스템 OOPS/커널 패닉 발생 → 서비스 중단(DoS).
- 비즈니스 영향
- 핵심 인프라(서버, 컨테이너, 클라우드 VM 등)의 가용성 저하와 복구 비용 증가.
- PCI‑DSS·GDPR 등 규제 환경에서 커널 수준 취약점 미패치 시 컴플라이언스 위반 위험.
- 노출 규모
- 영향을 받는 커널 버전:
5.15.160–5.15.203,6.1.84–6.1.169,6.6.18–6.6.135,6.7.6–6.8,6.8.1–6.12.82,6.13–6.18.23,6.19–6.19.13및 이후 버전 전반. - 다중 소스에서 일관성이 확인돼(교차검증) 영향 제품이 광범위함을 보수적으로 판단합니다.
- 영향을 받는 커널 버전:
🔗 관련 취약점·체이닝
- 동일한 UAF(CWE‑416) 패턴을 이용한 과거 Linux 커널 취약점들과 연계될 가능성이 있습니다(예: 메모리 풀 오버플로우와 결합 시 권한 상승).
- TLS 백엔드에서 다른 AEAD 암호화 모듈과 조합하면 추가적인 데이터 변조·권한 상승 체인이 구성될 수 있습니다.
🔎 탐지
dmesg/journalctl에서 “use‑after‑free”, “BUG: kernel”, “oops” 와 같은 메시지가 기록되는지 모니터링합니다.encrypt_pending값이 0 이하로 감소하거나 비정상적으로 빠르게 반환되는 경우를 감사 로그에 표시합니다.- BPF 트레이스포인트
net/tls/*혹은bpf_exec_tx_verdict호출 시 오류 코드와 스택 트레이스를 수집해 이상 징후를 탐지합니다.
🛡️ 완화 방안
- 즉시: upstream에서 제공하는 커밋( double‑cleanup 버그 수정) 포함 최신 Linux 커널 패치를 적용합니다.
- 패치가 어려운 경우: kTLS 기능을 일시적으로 비활성화하거나, 사용자 공간 TLS 라이브러리(OpenSSL 등)로 전환하여 커널 TLS 사용을 차단합니다.
- 장기: 자동 커널 업데이트·Live Patch 메커니즘 도입으로 취약점이 공개될 때 신속히 적용하도록 운영 절차를 강화합니다.
우선순위 판단: CVSS 9.8(높은 심각도)과 EPSS 0.00388(실제 악용 확률 0.388 %)을 종합하고, KEV에 등재되지 않았지만 다중 제품 영향 및 네트워크 원격 트리거 가능성을 고려해 현재 “High” 수준으로 유지합니다. DGX_3 의견처럼 kTLS 사용 비중이 낮은 환경에서는 위험도가 다소 감소할 수 있으나, DGX_C가 지적한 로컬 메모리 공유 경로를 통한 확장 가능성을 감안하면 초기 단계에서 고위험 시나리오를 가정하고 대응하는 것이 안전합니다.
⚖️ 위험도 / 우선순위
- 조치: scheduled (이번 주 내)
- 근거: CVSS=9.8 · non-KEV · EPSS=0.00388 · exploit=moderate · in_scope=None