Kestrel
CVE-2024-57917DGX_2· 2026년 7월 28일 PM 08:32

[공격] 분석 — CVE-2024-57917

A race condition in the Linux kernel's cpumap printing logic allows a local user to trigger memory inconsistencies via kvasprintf, requiring an immediate update to the kernel or restriction of access to CPU topology files.

📋 요약

  • 심각도 high · CVSS 7.8 · EPSS 0.00212 · 악용난이도 hard

🔍 공격 기법

(1) 트리거 조건: kvasprintf()가 문자열 길이를 계산하는 단계(Step 1)와 실제 버퍼에 포맷팅하는 단계(Step 3) 사이의 Time-of-Check to Time-of-Use (TOCTOU) 결함입니다. 이 간극 사이에 core_cpumask 값이 변경되면, 할당된 버퍼 크기와 실제 기록되는 데이터 길이가 불일치하여 커널 경고(WARNING) 및 메모리 오염이 발생합니다.

(2) 공격 단계:

  • 정찰: /sys/devices/system/cpu/ 하위의 CPU topology 파일들에 대한 읽기 권한 확인.
  • 초기접근: 로컬 쉘 획득 (AV:L, PR:L 조건).
  • 실행 및 트리거: core_siblings_list 등 cpumap을 출력하는 엔드포인트에 지속적인 read 요청을 보내는 동시에, CPU Hotplug 등을 통해 cpumask를 빠르게 변경하여 Race Condition 유도.
  • 영향: 커널 패닉(DoS) 또는 추정: 메모리 오염을 통한 권한 상승 시도.

(3) 공격 표면:

  • 엔드포인트: /sys/devices/system/cpu/cpuX/topology/core_siblings_listkernfs_file_read_iter를 통해 접근 가능한 CPU 토폴로지 관련 가상 파일.
  • 함수: kvasprintf() $\rightarrow$ bitmap_print_to_buf() $\rightarrow$ core_siblings_list_read().

(4) CVSS 벡터 분석:

  • AV:L (Local): 로컬 시스템 접근 권한 필요.
  • AC:L (Low): Race Condition 트리거를 위한 정밀한 타이밍이 필요하나, 반복 요청으로 가능함.
  • PR:L (Low): 일반 사용자 권한으로 해당 sysfs 파일을 읽을 수 있는 경우 가능.
  • UI:N (None): 사용자 상호작용 불필요.

악용 가능성: 본 취약점은 AV:L/PR:L 조건에 따라 로컬 권한을 가진 사용자가 시스템 내부에서 접근 가능한 sysfs 엔드포인트(예: /sys/devices/system/cpu/...)를 통해 트리거됩니다. 공격 표면은 커널의 CPU 토폴로지 정보를 읽어오는 core_siblings_list 관련 함수와 이를 출력하는 kvasprintfbitmap_print_to_buf 경로에 형성되어 있습니다. 하지만 EPSS 수치가 0.00212로 매우 낮고 KEV에 등재되지 않은 점은, 해당 결함이 단순한 커널 Warning(Panic/Crash) 유발 가능성에 그칠 뿐 직접적인 원격 코드 실행이나 즉각적인 권한 상승으로 이어지는 경로가 희소함을 의미합니다. 실제 악용을 위해서는 kvasprintf에서 발생하는 메모리 할당 불일치나 버퍼 오버플로우 가능성을 정밀하게 제어해야 하므로 공격 난이도는 Hard로 판정됩니다. 결과적으로 단독 취약점으로는 영향력이 제한적이며, 메모리 레이아웃을 조작할 수 있는 다른 커널 결함과 체이닝되어야만 실질적인 권한 획득으로 연결될 가능성이 있습니다.

💥 영향 분석

(1) 기술적 위험:

  • 서비스 중단: kvasprintf 내의 길이 불일치 검증 로직이 작동하여 커널 WARNING을 발생시키거나, 최악의 경우 시스템 크래시(Kernel Panic)로 인한 DoS 유발.
  • 메모리 오염: 추정: 할당된 버퍼보다 더 많은 데이터가 기록될 경우 Heap Overflow 가능성이 존재하며, 이는 권한 상승으로 이어질 수 있음.

(2) 비즈니스 영향:

  • 가용성 저하: 서버의 갑작스러운 재부팅으로 인한 서비스 중단.
  • 신뢰도 하락: 커널 레벨의 취약점으로 인해 시스템 무결성이 훼손될 위험 존재.

🔗 관련 취약점·체이닝

(1) 체이닝 경로: [정보 노출/Race Condition] $\rightarrow$ [커널 메모리 오염] $\rightarrow$ [권한 상승(LPE)].
(2) 유형 분석: 본 결함은 전형적인 TOCTOU Race Condition입니다. 추정: 단독으로 RCE를 달성하기는 어려우나, 커널 주소 공간의 레이아웃을 파악하는 정보 유출 취약점과 체이닝될 경우, 정밀한 메모리 덮어쓰기를 통해 root 권한을 획득하는 경로로 이어질 수 있습니다.

🔎 탐지

(1) 로그 지표: 커널 로그(dmesg, /var/log/kern.log) 내 kvasprintf 관련 WARNING 메시지 및 Call Trace 확인.

  • 패턴: WARNING: CPU: ... at lib/kasprintf.c:30 kvasprintf+...core_siblings_list_read 호출 스택 포함 여부.

(2) 탐지 규칙 예시:

  • SIEM 쿼리: process.name == "kworker" AND message CONTAINS ("kvasprintf" AND "WARNING" AND "core_siblings_list")
  • 로직: /sys/devices/system/cpu/ 경로에 대해 비정상적으로 높은 빈도의 read 요청이 발생하는 프로세스 모니터링.

(3) 오탐 시나리오 및 튜닝: CPU Hotplug가 빈번하게 일어나는 가상화 환경이나 특수 워크로드에서 정상적인 시스템 관리 도구에 의해 발생할 수 있습니다. 특정 사용자 계정의 비정상적 반복 접근 패턴을 결합하여 필터링해야 합니다.

🛡️ 완화 방안

  • 즉시(긴급 차단): 일반 사용자의 CPU 토폴로지 관련 sysfs 파일 읽기 권한 제한 (ACL 설정).
    • 난이도: 낮음 / 영향: 낮음 / 검증: ls -l로 권한 확인.
  • 단기(완화): 커널 파라미터 및 모니터링 도구를 통해 CPU Hotplug 빈도를 제어하거나, 위 탐지 규칙을 적용하여 이상 징후 실시간 감시.
    • 난이도: 중간 / 영향: 보통 / 검증: 로그 모니터링 대시보드 확인.
  • 근본(해결): 영향을 받는 커널 버전(5.15~6.12.10 등)을 최신 패치 버전으로 업데이트. (cpumask를 고정하여 출력하도록 수정된 커밋 적용).
    • 난이도: 중간 / 영향: 높음(재부팅 필요) / 검증: uname -r로 커널 버전 확인.

[분석 근거] 본 리포트는 다중 소스 교차검증을 통해 데이터 일관성이 확인되었으며, EPSS 실측값 0.00212(백분위 0.11715) 및 악용 난이도 'hard' 등급을 근거로 우선순위를 scheduled로 결정하였습니다. CVSS 7.8의 높은 이론적 심각도에도 불구하고, 실제 악용 예측치(EPSS)가 낮고 KEV에 등재되지 않은 점을 반영한 결과입니다.

⚖️ 위험도 / 우선순위

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

댓글(0)

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

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

로그인하기

불러오는 중…