[공격] 분석 — CVE-2026-31424
CVE-2026-31424 allows a locally‑privileged process to trigger a kernel null‑pointer dereference via malformed ARP netfilter rules, leading to a high‑impact denial‑of‑service; immediate patching and restriction of ARP nftables usage are required.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00122 · 악용난이도 hard
🔍 공격 기법
-
트리거 조건
xt_match·xt_target구조체가NFPROTO_UNSPEC로 등록된 상태에서nft_compat를 이용해 임의의 프로토콜 패밀리에 로드될 수 있음.- 해당 매치/타깃이
.hooks비트마스크에NF_INET_*상수를 사용하지만, ARP 체인은NF_ARP_IN(0),NF_ARP_OUT(1),NF_ARP_FORWARD(2)로 서로 다른 의미를 가짐. NF_ARP_OUT == NF_INET_LOCAL_IN일치로 검증이 우회되어, 잘못된 훅에서 매치가 실행됨 →state->in등 포인터가 NULL 상태.
-
공격 단계
- 정찰 – 시스템 커널 버전 확인 (
/proc/version), 해당 범위(2.6.39‑5.10.253,5.11‑5.15.203, …6.13‑6.18.22,6.19‑6.19.12)에 포함되는지 판단. - 초기 접근 – 로컬 사용자(프리빌리지
PR:L)가nft명령어 또는 커스텀 netfilter 모듈을 통해 악의적인xt_match/target을 등록 (CAP_NET_ADMIN수준이면 충분). - 실행·권한 획득 – ARP 패킷이 해당 체인을 통과할 때(예: 일반 네트워크 탐색 시) 매치가 실행되어 커널 내부
devgroup_mt+0xff주소에서 NULL‑ptr deref 발생, 시스템 OOPS 및 서비스 거부. - 지속 – 직접적인 지속 메커니즘은 없으며, 공격자는 재현 가능한 크래시를 반복해 서비스 가용성을 마비시킬 수 있음.
- 영향 –
Availability가High인 만큼 전체 시스템 다운(Denial‑of‑Service) 및 잠재적 로컬 권한 상승 기회 제공.
- 정찰 – 시스템 커널 버전 확인 (
-
공격 표면
- 노출 엔드포인트: 로컬
nft명령, netfilter 모듈 로딩 인터페이스. - 파라미터/함수:
xt_check_match(),xt_check_target(),.hooks비트마스크 설정,nft_compat경로.
- 노출 엔드포인트: 로컬
-
CVSS 벡터와 실제 조건 매핑
AV:L→ 로컬 접근만 필요.AC:L→ 복잡도 낮음(단순 nft 명령).PR:L→ 저권한 사용자라도 가능 (CAP_NET_ADMIN 수준).UI:N→ 사용자 상호작용 불필요.
💥 영향 분석
- 주된 위험: 커널 OOPS에 의한 시스템 크래시·서비스 거부.
- 추가 위험: 크래시 후 재부팅 과정에서 부트 파라미터나 init 스크립트를 조작할 수 있는 경우, 로컬 권한 상승 가능성(직접적인 RCE는 현재 확인되지 않음).
🔗 관련 취약점·체이닝
- 유형:
CWE‑20(입력 검증 오류) → 비정상 훅 매핑 검증 부재. - 패턴: 입력(훅 비트마스크) → 잘못된 내부 구조 가정 → NULL 포인터 deref → DoS.
- 추정: 동일한
NFPROTO_UNSPEC로 등록되는 다른 netfilter 확장(xt_match,xt_target)이 존재한다면, 이를 이용해 추가적인 커널 모듈 로딩·코드 실행 취약점(예:CWE‑119버퍼 오버플로)과 연계될 수 있음.
🔎 탐지
- 커널 로그:
Oops: general protection fault,KASAN: null-ptr-deref와 함께devgroup_mt+0xff/0x350문자열이 포함된 메시지. - Auditd:
nft명령에 의한 netfilter 매치·타깃 로드 이벤트(type=NETFILTER) 감시. - Syslog/ journald: ARP 체인에서 비정상적인 패킷 처리 시 발생하는
netfilter: xt_check_*경고.
🛡️ 완화 방안
- 패치 적용 – 공급업체가 제공한 최신 커널 버전(예: 6.12.82 이상, 6.19.13 이상 등)으로 업데이트하고, 해당 커밋(
netfilter: x_tables: restrict xt_check_match/xt_check_target extensions for NFPROTO_ARP)을 백포트 적용. - 임시 방어 –
nft_compat를 비활성화하거나 ARP 체인에서 사용자 정의xt_match/target로드 금지(sysctl net.netfilter.nf_conntrack_max=0등) 설정. - 권한 최소화 – 일반 사용자가
CAP_NET_ADMIN을 보유하지 않도록 정책 강화, sudo 제한 적용. - 모니터링 – 위 탐지 지표를 기반으로 실시간 로그 알림 구성, KASAN/Crash 로그 자동 수집.
본 보고서는 다중 소스 교차검증(신뢰도 1.0)·실측 EPSS 0.00122·규칙 기반 우선순위 결정(모니터링) 결과에 근거합니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00122 · exploit=hard · in_scope=None