[공격] 분석 — CVE-2024-57924
A denial-of-service vulnerability in the Linux kernel's file handle encoding process allows local users to trigger a system crash (kernel panic), requiring an update to the affected kernel versions.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00242 · 악용난이도 hard
🔍 공격 기법
(1) 트리거 조건: 파일 시스템의 ->encode_fh() 메서드가 실패할 때, 이를 처리하지 못하고 WARN_ON() 어설션(assertion)을 발생시키는 결함입니다. 특히 OverlayFS가 마운트된 환경에서 inotify와 drop_caches를 조합하여 인코딩 실패 상황을 강제로 유도함으로써 커널 패닉을 트리거합니다.
(2) 공격 단계:
- 정찰: 대상 시스템의 커널 버전 및 OverlayFS 사용 여부, 마운트 옵션(
index=on,nfs_export=on) 확인. - 초기 접근: 로컬 사용자 권한 획득 (AV:L).
- 실행/영향: 특정 파일 구조 생성 $\rightarrow$
inotify설정 $\rightarrow$drop_caches호출을 통해 캐시 제거 $\rightarrow$ 파일 핸들 인코딩 시도 $\rightarrow$ 커널 어설션 트리거 $\rightarrow$ 시스템 크래시(DoS).
(3) 공격 표면:
- 함수:
exportfs_encode_fh(),exportfs_encode_fid()및 각 파일 시스템의->encode_fh()구현체. - 인터페이스:
name_to_handle_at(2)시스템 콜 및 NFS 서버(nfsd) 관련 경로.
(4) CVSS 벡터 분석:
- AV:L / PR:L: 로컬 계정 권한이 필수적이며, 외부에서 직접 트리거는 불가능합니다.
- AC:L: 조건만 맞으면 실행 방법이 단순합니다.
- UI:N: 사용자 상호작용 없이 백그라운드에서 수행 가능합니다.
악용 가능성: 본 취약점은 AV:L 및 PR:L 조건으로 인해 이미 시스템에 낮은 권한의 계정으로 접근한 공격자만이 트리거할 수 있으며, 네트워크를 통한 직접적인 원격 침투는 불가능합니다. 공격 표면은 Linux 커널의 파일 핸들 인코딩 과정(exportfs_encode_fh)과 연관된 특정 시스템 콜 및 파일 시스템 인터페이스로 제한됩니다. 특히 name_to_handle_at(2)와 같은 엔드포인트에서 비정상적인 파일 상태를 유도하여 encode_fh()의 실패를 강제하는 것이 핵심 트리거 조건입니다. EPSS 수치가 0.00242로 매우 낮고 KEV에 등재되지 않은 점은, 이론적 결함에도 불구하고 실제 야생(In-the-wild)에서 공격자가 이를 무기화하여 성공시킨 사례가 극히 드물다는 것을 의미합니다. 하지만 AC:L 특성상 일단 트리거 조건이 충족되면 복잡한 조작 없이도 커널 내 Assertion 오류를 유발할 수 있어, 가용성 저해(DoS)나 잠재적인 권한 상승을 위한 체이닝 포인트로 활용될 가능성이 있습니다. 결과적으로 공격 난이도는 'Hard' 수준이며, 이는 단순한 실행보다는 특정 파일 시스템 환경과 정교한 커널 상태 조작이라는 전제조건을 충족해야 하기 때문입니다.
💥 영향 분석
(1) 기술적 위험: 가용성 저해(Availability High). 커널 수준의 어설션 실패는 시스템 전체의 중단(Kernel Panic/Crash)으로 이어지며, 이는 즉각적인 서비스 거부(DoS) 상태를 야기합니다.
(2) 비즈니스 영향: 서버 가동 중단으로 인한 서비스 다운타임 발생. 특히 OverlayFS를 사용하는 컨테이너 환경이나 NFS 공유 환경에서 시스템 안정성이 훼손될 수 있습니다.
🔗 관련 취약점·체이닝
- 추정: 본 취약점은 단독으로 권한 상승(LPE)을 일으키지는 않으나, 커널 패닉을 유도하여 보안 솔루션(EDR/IDS)의 모니터링을 일시적으로 무력화하거나 시스템 재부팅 과정에서 발생하는 Race Condition을 이용한 다른 취약점과 체이닝될 가능성이 있습니다.
- 추정:
DoS $\rightarrow$ System Reboot $\rightarrow$ Boot-time Vulnerability패턴으로 이어지는 가용성 기반 공격 체인이 가능합니다.
🔎 탐지
(1) 로그 지표: 커널 링 버퍼(dmesg) 또는 /var/log/syslog, /var/log/kern.log에서 WARN_ON 및 encode_fh 관련 스택 트레이스 확인.
(2) 탐지 규칙:
- 로직:
dmesg | grep -E "WARN_ON.*exportfs_encode_(fh|fid)" - SIEM 쿼리 예시:
index=linux_logs message="*WARN_ON*" AND message="*encode_fh*"
(3) 오탐 시나리오: 정상적인 파일 시스템 오류로 인한 일시적 경고일 수 있으나, 단시간 내 동일 사용자에 의해 반복적으로 발생하며 시스템이 크래시된다면 공격으로 간주합니다.
🛡️ 완화 방안
- 즉시(긴급 차단): 불필요한
name_to_handle_at(2)호출 가능 권한 제한 및 일반 사용자의 커널 로그 접근 제어. (난이도: 하 / 영향: 낮음) - 단기(완화): OverlayFS 마운트 옵션 중
nfs_export=on등 취약점을 가속화하는 옵션 제거 검토. (난이도: 중 / 영향: NFS 공유 기능 제한 가능성) - 근본(해결): Linux 커널을 수정 버전(6.1.151+, 6.6.74+, 6.12.10+ 등 해당 메인라인 패치 버전)으로 업데이트. (난이도: 중 / 영향: 재부팅 필요, 가용성 일시 중단)
[파이프라인 근거] 본 분석은 다중 소스 데이터의 일관성이 확인된 교차검증 결과를 바탕으로 작성되었습니다. 실측 EPSS 값(0.00242)과 낮은 백분위(0.15479)는 현재 실제 야생에서의 악용 사례가 매우 드물며, 공격 난이도가 'hard'임을 뜻합니다. 따라서 CVSS 5.5와 로컬 권한 필요 조건(AV:L)을 종합하여 우선순위를 monitor로 결정하였습니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00242 · exploit=hard · in_scope=None