[방어] 분석 — CVE-2024-50298
A NULL pointer dereference in the Linux kernel's enetc driver allows a local privileged user to cause a system crash (DoS), requiring immediate restriction of VF configuration commands or kernel updates.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00218 · 악용난이도 hard
🔍 공격 기법
(1) 트리거 조건: enetc 드라이버에서 Virtual Function(VF)이 활성화되기 전, ndo_set_vf_mac() 함수를 통해 VF의 MAC 주소를 설정하려고 시도할 때 발생합니다. vf_state 메모리가 할당되지 않은 상태에서 해당 포인터에 접근하여 NULL pointer dereference가 유발됩니다.
(2) 공격 단계:
- 정찰/초기접근: 로컬 쉘 권한 확보 (PR:L).
- 실행:
ip link set <interface> vf <id> mac <address>명령어를 통해 VF MAC 주소 변경 시도. - 영향: 커널 패닉(Kernel Panic) 발생 및 시스템 중단.
(3) 공격 표면: Linux Kernel Netlink 인터페이스 및enetc네트워크 드라이버 설정 경로.
(4) CVSS 벡터 분석: - AV:L (Local): 로컬 접근 권한 필요.
- AC:L (Low): 특정 명령어 실행만으로 트리거 가능.
- PR:L (Low): 네트워크 설정을 변경할 수 있는 최소 수준의 권한(예: root 또는 CAP_NET_ADMIN) 필요.
- UI:N (None): 사용자 상호작용 불필요.
악용 가능성: 본 취약점의 공격 난이도는 Hard로 평가됩니다. CVSS 벡터 AV:L/PR:L에서 알 수 있듯, 공격자는 대상 시스템에 이미 로컬 계정 권한을 획득한 상태여야 하며, 커널 수준의 인터페이스를 제어할 수 있는 특권(Privilege)이 전제되어야 합니다. 공격 표면은 Linux 커널의 enetc 드라이버 내 ndo_set_vf_mac() 함수이며, 구체적으로는 VF(Virtual Function)가 활성화되기 전 ip link set ... vf [ID] mac [MAC] 명령어를 통해 MAC 주소를 설정하려는 시도가 트리거 조건이 됩니다. 이 과정에서 vf_state 메모리가 할당되지 않은 상태로 참조되어 Null Pointer Dereference가 발생하며, 이는 시스템 가용성을 해치는 DoS(Denial of Service)로 이어집니다. EPSS 수치가 0.00218로 매우 낮고 KEV에 등재되지 않은 점은, 현재 이 취약점을 이용한 실제 야생(In-the-wild) 공격 사례가 드물며 원격 실행 가능성이 희박함을 시사합니다. 따라서 이론적인 심각도보다는 로컬 권한을 가진 내부 위협이나 설정 오류로 인한 시스템 크래시 가능성에 집중해야 하는 취약점입니다.
💥 영향 분석
(1) 기술적 위험: 시스템 가용성 완전 상실(Denial of Service). 커널 레벨에서 NULL pointer dereference가 발생하여 OS가 즉시 크래시됩니다.
(2) 비즈니스 영향: 해당 하드웨어/커널을 사용하는 서버의 서비스 중단으로 인한 업무 마비 및 인프라 가용성 저하.
🔗 관련 취약점·체이닝
- 추정: 본 취약점은 단독으로 시스템 권한 획득(LPE)이나 데이터 유출로 이어지기는 어려우나, 다른 커널 메모리 오염 취약점과 체이닝될 경우 특정 메모리 레이아웃을 강제하거나 상태를 조작하는 DoS 공격의 일부로 활용될 가능성이 있습니다. (유형: NULL Pointer Dereference $\rightarrow$ System Crash)
🔎 탐지
(1) 로그 지표: 커널 링 버퍼(dmesg) 및 /var/log/syslog 또는 kern.log.
- 패턴:
Unable to handle kernel NULL pointer dereference,enetc_pf_set_vf_mac함수 호출 스택 포함.
(2) 탐지 규칙 예시: - SIEM/Log 분석 로직:
SELECT * FROM kernel_logs WHERE message LIKE '%Unable to handle kernel NULL pointer dereference%' AND message LIKE '%enetc_pf_set_vf_mac%' - 명령어 모니터링 (Auditd):
auditctl -a always,exit -F arch=b64 -S execve -F exe=/usr/sbin/ip -F args=link set * vf * mac *
(3) 오탐 튜닝: 정상적인 네트워크 설정 스크립트가 VF를 활성화하기 전 MAC 주소를 먼저 설정하는 로직을 가지고 있는지 확인하십시오. 해당 패턴이 빈번하다면 이는 공격이 아닌 구성 오류입니다.
🛡️ 완화 방안
- 즉시 (긴급 차단):
ip link set ... vf ... mac명령어 실행 권한 제한. 일반 사용자가sudo를 통해 네트워크 설정을 변경할 수 없도록/etc/sudoers설정 검토 및 제한. (난이도: 하 / 영향: 낮음 / 검증: 비특권 계정에서 해당 명령어 실행 시 Permission Denied 확인) - 단기 (완화):
enetc드라이버를 사용하는 인터페이스의 VF 설정을 자동화 스크립트에서 제거하거나, 반드시 VF 활성화 이후에 MAC 주소를 설정하도록 순서 조정. (난이도: 중 / 영향: 중간(설정 변경 필요) / 검증: 설정 순서 변경 후 시스템 크래시 여부 테스트) - 근본 (해결): Linux Kernel 패치 적용. 영향 범위인 5.1
6.6.61, 6.76.11.8 버전에서 수정된 최신 커널로 업데이트. (난이도: 중 / 영향: 높음(재부팅 필요) / 검증:uname -r및 패치 내역 확인)
[파이프라인 근거]
- 본 분석은 다중 소스 데이터의 일관성이 확인된 결과를 바탕으로 작성되었습니다.
- EPSS 실측값 0.00218(백분위 0.12363)은 이론적 심각도와 별개로 실제 야생에서의 악용 가능성이 매우 낮음을 의미합니다.
- 결정 논리: CVSS 5.5, non-KEV, 낮은 EPSS 및 로컬 권한 필요(AV:L) 조건에 따라 우선순위를
monitor로 결정하였습니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00218 · exploit=hard · in_scope=None