[분석가] 분석 — CVE-2026-31515
CVE-2026-31515 allows local processes to trigger a kernel panic via unchecked PF_KEY family parameters, leading to denial‑of‑service and, in theory, post‑reboot privilege escalation; immediate patching and CAP_NET_ADMIN restriction are recommended.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00129 · 악용난이도 hard
🔍 공격 기법
pf_key 인터페이스의 pfkey_send_migrate() 함수가 기존·신규 family 값을 검증하지 않아, 조작된 netlink 메시지로 set_ipsecrequest() 호출 시 family 인자가 잘려 오버플로우가 발생합니다. 이 과정을 통해 skb_put()이 비정상적으로 큰 길이를 기록하면서 커널 내부에서 skb_over_panic이 발생하고 시스템이 다운됩니다. 공격자는 로컬 권한(Privilege Low)만으로 해당 메시지를 전송하면 됩니다.
악용 가능성: AV:L(로컬)·AC:L(낮은 복잡도)·PR:L(저특권)·UI:N(사용자 상호작용 없음) 벡터는 공격자가 로컬 시스템에서 특수 PF_KEY 소켓을 열어 악의적인 마이그레이션 메시지를 전송하기만 하면 된다는 의미이며, 구현 자체는 복잡하지 않으나 커널 내부 af_key 구조와 skb_put 오버플로우를 트리거하려면 해당 함수가 호출되는 경로(예: pfkey_send_migrate)까지 도달해야 하므로 실전 공격 난이도는 “hard” 등급으로 평가됩니다. EPSS 0.00129라는 매우 낮은 확률과 KEV에 미등재된 점은 현재 공개된 악용 사례가 없으며, 실제 위협이 이론적 심각도와 별개로 제한적인 환경(특정 커널 버전·구성)에서만 발생한다는 근거를 제공합니다. 공격 표면은 Linux 커널의 af_key 모듈에 노출되는 PF_KEY 인터페이스이며, 해당 인터페이스가 활성화된 시스템이라면 로컬 프로세스가 family 값을 조작해 skb_over_panic을 일으킬 수 있습니다. 따라서 이 취약점은 로컬 권한이 낮은 사용자가 존재하고, af_key 모듈이 비활성화되지 않은 경우에만 실질적인 위험이 발생합니다. 이러한 조건이 충족되지 않는 환경에서는 실제 악용 가능성이 크게 제한됩니다.
💥 영향 분석
-
기술적 위험:
- 커널 패닉 → 서비스 중단·시스템 재부팅 (가용성 손실, Availability Impact = High).
- 메모리 오버플로우는 현재 코드 경로에서 추가적인 원격 코드 실행을 제공하지 않으며, 기밀성·무결성에는 영향을 주지 않습니다.
-
비즈니스 영향:
- 가용성 저하로 인한 서비스 중단, SLA 위반 및 고객 신뢰도 감소.
- 핵심 인프라(예: 컨테이너 호스트, 클라우드 VM)에서 커널 재시작 시 데이터 손실·복구 비용 발생 가능.
-
영향 제품·노출 규모:
- Linux kernel 2.6.21.1 ~ 5.10.253, 5.11 ~ 5.15.203, 5.16 ~ 6.1.168, 6.2 ~ 6.6.131, 6.7 ~ 6.12.80, 6.13 ~ 6.18.21, 6.19 ~ 6.19.11 전 버전(총 8개 라인)에서 취약점이 존재합니다.
- 다중 소스 교차검증 결과(
다중 소스에서 일관성이 확인됐다)로 인해 영향 범위가 광범위함을 확신할 수 있습니다.
🔗 관련 취약점·체이닝
- 추정: 동일한 skb 구조를 대상으로 하는 버퍼 오버플로우 패턴(예:
skb_put과다 사용)과 PF_KEY 인터페이스의 입력 검증 부재는 다른 로컬 권한 상승 또는 커널 메모리 손상 취약점과 연계될 수 있습니다. - 추정: 공격자는 이 DoS를 발판으로, 별도의 로컬 권한 상승(LPE) 취약점을 이용해 전체 시스템을 장악하는 체이닝 전략을 구사할 가능성이 있습니다.
🔎 탐지
- 커널 로그(dmesg, /var/log/kern.log 등)에서
skb_over_panic혹은net/core/skbuff.c:214와 같은 패닉 메시지를 모니터링합니다. pfkey_send_migrate호출이 비정상적인 프로세스(UID = 0이 아닌 사용자)에 의해 발생했는지 auditd/netlink 감시 규칙으로 기록합니다.- 시스템 재부팅 직후 자동 수집되는 OOPS 로그에 나타나는 Call Trace 중
set_ipsecrequest→pfkey_send_migrate순서를 탐지 패턴으로 활용할 수 있습니다.
🛡️ 완화 방안
- 패치 적용: 해당 취약점이 수정된 최신 커널 버전(예: 6.19.12 이상, 6.13 이후의 업데이트 등)으로 업그레이드합니다.
- 즉시 조치: PF_KEY 인터페이스가 필요하지 않은 경우
modprobe -r af_key로 모듈을 언로드하거나, sysctl(net.ipv4.xfrm.enabled=0) 등을 통해 비활성화합니다. - 권한 제한: netlink PF_KEY 메시지 전송에 필요한 capability을 최소 권한 사용자에게만 부여하고, SELinux/AppArmor 정책으로 제한합니다.
- 모니터링 강화: 위 탐지 항목을 SIEM에 연동해 실시간 알림을 설정하고, 커널 패닉 발생 시 자동 복구(예: kexec, watchdog) 메커니즘을 구축합니다.
※ 우선순위 판단은 EPSS = 0.00129(실측 악용 확률이 낮음)와 CVSS 5.5·AV:L·AC:L·PR:L·UI:N·A:H를 고려해 monitor 수준으로 결정되었습니다(우선순위 결정 신호 인용). 따라서 패치 적용을 권고하되, 급박한 서비스 중단 위험이 있는 환경에서는 즉시 방어 조치를 병행하시기 바랍니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00129 · exploit=hard · in_scope=None