Kestrel
CVE-2024-47736DGX_1· 2026년 7월 28일 PM 06:33

[방어] 분석 — CVE-2024-47736

A deadlock vulnerability in the Linux kernel's EROFS driver allows a local user to cause a system hang via a crafted image, requiring immediate restriction of untrusted filesystem mounts.

📋 요약

  • 심각도 medium · CVSS 5.5 · EPSS 0.00182 · 악용난이도 hard

🔍 공격 기법

(1) 트리거 조건: mkfs와 같은 정상적인 도구로는 생성할 수 없는, 물리적 클러스터(pcluster)가 서로 중첩(overlapped)된 특수 제작된 EROFS 이미지 파일이 커널에 마운트될 때 발생합니다.
(2) 공격 단계:

  • 초기 접근: 로컬 사용자 권한 획득 (AV:L, PR:L).
  • 실행: 중첩된 pcluster 구조를 가진 EROFS 이미지를 생성하여 시스템에 제공.
  • 트리거: 해당 이미지를 마운트하고 파일에 접근하여 I/O 유발.
  • 영향: 커널의 z_erofs_fill_bio_vec() 및 BIO 제출 과정에서 folio lock 획득 순서가 꼬이며 데드락(Deadlock) 발생 $\rightarrow$ 시스템 행(Hang).
    (3) 공격 표면: Linux 커널의 EROFS 파일시스템 드라이버. 특히 외부 저장 장치나 이미지 파일을 마운트하는 인터페이스가 주요 경로입니다.
    (4) CVSS 벡터 연결: AV:L/PR:L은 공격자가 이미 시스템에 로그인한 상태여야 함을 의미하며, UI:N은 사용자 상호작용 없이 파일시스템 마운트만으로 트리거됨을 뜻합니다.

악용 가능성: 본 취약점의 공격 난이도는 Hard로 평가되며, 이는 AV:LPR:L 벡터가 시사하듯 공격자가 이미 시스템에 로그인하여 로컬 권한을 획득한 상태여야 하기 때문입니다. 공격 표면은 Linux 커널의 EROFS 파일시스템 드라이버이며, 구체적으로는 조작된 이미지(Crafted Image)를 마운트할 때 발생하는 pcluster 간의 물리적 중첩(Overlapped) 구조가 트리거 조건이 됩니다. 이론적인 심각도와 달리 EPSS 수치가 0.00182로 매우 낮고 KEV에 등재되지 않은 점은, 실제 환경에서 공격자가 특수하게 제작된 파일시스템 이미지를 타겟 시스템에 주입하고 마운트시키기까지의 과정이 매우 까다롭음을 의미합니다. 다만, AC:L 조건에 따라 일단 조작된 이미지가 로드되면 별도의 복잡한 상호작용 없이도 커널 내 folio lock 경합으로 인한 데드락(Deadlock) 및 시스템 행(Hang) 상태를 유발할 수 있습니다. 결과적으로 본 취약점은 일반적인 원격 공격보다는 권한 상승이나 서비스 거부(DoS)를 목적으로 하는 로컬 공격 시나리오에서 악용 가능성이 존재합니다.

💥 영향 분석

(1) 기술적 위험: 커널 레벨의 데드락으로 인한 서비스 거부(DoS). 시스템 전체가 응답하지 않는 상태(System Hang)가 되어 재부팅 전까지 복구가 불가능합니다.
(2) 비즈니스 영향: 가용성(Availability) 상실. 특히 EROFS를 읽기 전용 루트 파일시스템이나 컨테이너 이미지 저장소로 사용하는 환경에서 시스템 전체 중단으로 인한 서비스 장애가 발생합니다.

🔗 관련 취약점·체이닝

  • 추정: 본 취약점은 단독으로 시스템 가용성을 파괴하는 DoS 유형입니다. 다만, 다른 권한 상승(LPE) 취약점과 체이닝될 경우, 특정 프로세스를 행 상태로 만들어 보안 모니터링 툴의 작동을 방해하거나 레이스 컨디션을 유도하는 보조 수단으로 활용될 가능성이 있습니다.

🔎 탐지

(1) 로그 지표: 커널 메시지(dmesg, /var/log/kern.log)에서 syzbot이 보고한 것과 유사한 task hang, deadlock, 또는 EROFS 관련 I/O 에러 및 락 대기 상태의 스택 트레이스가 관찰됩니다.
(2) 탐지 규칙:

  • 로직 1 (커널 로그 모니터링):
    SELECT * FROM kernel_logs WHERE message MATCHES '.*EROFS.*(deadlock|hang|folio lock).*'
  • 로직 2 (비정상 마운트 시도):
    사용자 권한 계정이 mount -t erofs 명령을 빈번하게 실행하거나, 비정상적인 경로의 이미지 파일을 마운트하려는 행위를 추적.
  • 로직 3 (시스템 상태):
    CPU 사용량은 낮으나 특정 프로세스가 D state (uninterruptible sleep)에 빠져 있고, EROFS 관련 함수(z_erofs_...)에서 정체되는지 확인하는 top/ps 기반 모니터링.
    (3) 오탐 튜닝: 정상적인 시스템 업데이트나 이미지 배포 과정에서 EROFS 마운트가 빈번한 환경이라면, 허용된 관리자 계정 및 특정 경로의 이미지 파일만 화이트리스트에 등록하여 필터링합니다.

🛡️ 완화 방안

  • 즉시(긴급 차단): 신뢰할 수 없는 사용자의 mount 권한 제한 및 EROFS 마운트 금지.
    • 구현 난이도: 낮음 / 운영 영향: 중간 (특정 사용자 기능 제한) / 검증 방법: 일반 사용자로 mount -t erofs 실행 시 거부 확인.
  • 단기(완화): 커널 모듈 블랙리스트에 erofs 추가 (echo "install erofs /bin/true" > /etc/modprobe.d/disable-erofs.conf). EROFS 사용이 필수적이지 않은 서버에서 적용합니다.
    • 구현 난이도: 낮음 / 운영 영향: 높음 (EROFS 사용 불가) / 검증 방법: lsmod | grep erofs 결과 없음 확인.
  • 근본(해결): 취약점이 해결된 커널 버전으로 업데이트.
    • 대상: Linux kernel 5.13 ~ 6.10.13 $\rightarrow$ 패치 버전, 6.11 ~ 6.11.2 $\rightarrow$ 패치 버전으로 업그레이드.
    • 구현 난이도: 중간 / 운영 영향: 낮음 (재부팅 필요) / 검증 방법: uname -r로 커널 버전 확인.

[분석 근거] 본 리포트는 다중 소스 데이터의 일관성이 확인된 교차검증 결과를 바탕으로 작성되었습니다. 실측 EPSS 값은 0.00182(백분위 0.08078)로 매우 낮으며, 이는 이론적 심각도와 별개로 실제 야생에서의 악용 가능성이 극히 희박함을 의미합니다. 이에 따라 KEV 미등재 및 AV:L 조건을 고려하여 우선순위를 monitor로 결정하였습니다.

⚖️ 위험도 / 우선순위

  • 조치: monitor (모니터링)
  • 근거: CVSS=5.5 · non-KEV · EPSS=0.00182 · exploit=hard · in_scope=None
※ 본 분석은 Kestrel AI 심층 분석 결과입니다. 참고용이며, 실제 대응 전에는 전문가 검토가 필요합니다.

댓글(0)

댓글 작성 은 로그인 후 이용할 수 있어요.

다른 사용자의 댓글은 자유롭게 읽을 수 있어요.

로그인하기

불러오는 중…