[분석가] 분석 — CVE-2024-57977
A soft lockup vulnerability in the Linux kernel memcg OOM process can lead to a Denial of Service (DoS), requiring kernel updates or resource limit configurations.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.0019 · 악용난이도 hard
🔍 공격 기법
(1) 트리거 조건: memcg(Memory Control Group) 내에 매우 많은 수의 태스크(약 56,000개 이상 추정)가 존재하고, 시스템이 OOM(Out of Memory) 상태에 진입하여 해당 cgroup 내의 태스크들을 순회(traversing)할 때 발생합니다.
(2) 공격 단계:
- 정찰/준비: 로컬 권한을 가진 사용자가 대상 시스템의 메모리 제한 설정을 확인합니다.
- 실행: 대량의 프로세스/태스크를 생성하여 특정
memcg그룹에 할당하고, 의도적으로 메모리 고갈 상태를 유도합니다. - 영향 발생: 커널의 OOM 킬러가 태스크 리스트를 순회하는 과정에서 CPU 점유 시간이 임계치를 초과하여 Soft Lockup이 트리거됩니다.
(3) 공격 표면: Linux Kernel의memcg및 OOM 처리 로직 (로컬 인터페이스).
(4) CVSS 벡터 분석: - AV:L (Local): 시스템에 로그인한 사용자가 실행 가능합니다.
- AC:L (Low): 트리거 조건 충족 시 복잡한 조작이 필요하지 않습니다.
- PR:L (Low): 일반 사용자 권한으로 프로세스 생성 및 메모리 소비가 가능합니다.
- UI:N (None): 사용자 상호작용이 필요 없습니다.
악용 가능성: 본 취약점은 공격 난이도가 hard로 판정되며, 실제 악용 가능성은 매우 낮습니다. CVSS 벡터 AV:L/PR:L에 따라 공격자는 이미 시스템에 로그인한 저권한 계정을 보유해야 하며, 로컬 환경에서만 트리거가 가능합니다. 공격 표면은 Linux kernel의 memcg(Memory Control Group) 메커니즘이며, 특히 OOM(Out-Of-Memory) 프로세스가 작동하는 특정 메모리 관리 엔드포인트가 타겟이 됩니다. 실제 트리거를 위해서는 약 56,000개 이상의 태스크가 단일 OOM cgroup 내에 존재하는 극단적인 환경을 조성해야 하므로, 일반적인 운영 환경에서 의도적으로 유발하기에는 제약이 큽니다. EPSS 수치가 0.0019로 매우 낮고 KEV(Known Exploited Vulnerabilities)에도 등재되지 않은 점은, 이론적 심각성과 별개로 실제 야생에서의 악용 사례가 거의 없음을 시사합니다. 결과적으로 본 취약점은 원격 공격이 불가능하고 특수한 리소스 조건이 충족되어야 하는 Soft Lockup(DoS) 형태의 위험을 가집니다.
💥 영향 분석
(1) 기술적 위험: 서비스 중단(Denial of Service). CPU가 특정 커널 루프에 갇혀 응답하지 않는 Soft Lockup 상태가 되어 시스템 전체 또는 해당 CPU 코어가 마비됩니다.
(2) 비즈니스 영향: 서버 가용성 상실. 특히 다중 테넌트 환경(Container/Cloud)에서 특정 사용자가 리소스를 과다 점유하여 호스트 OS 전체를 다운시킬 경우, 동일 호스트 내 모든 서비스의 중단으로 이어질 수 있습니다.
🔗 관련 취약점·체이닝
- 추정: 단일 결함으로는 가용성 저하(DoS)만 유발하지만, 시스템 마비 상태에서 커널 덤프가 발생하거나 재부팅되는 과정에서 다른 부트 타임 취약점이나 로컬 권한 상승(LPE) 취약점과 체이닝될 가능성이 있습니다.
- 추정: 리소스 제한 우회 패턴의 취약점과 결합하여 시스템 자원을 고갈시키는 DoS 공격 체인으로 활용될 수 있습니다.
🔎 탐지
(1) 로그 지표: 커널 메시지(dmesg, /var/log/syslog) 내 watchdog: BUG: soft lockup 및 memcg 관련 스택 트레이스 확인.
(2) 탐지 규칙 예시:
- 로직 1 (로그 기반):
grep -E "soft lockup.*CPU#\d+ stuck for \d+s!.*\[VM Thread" - 로직 2 (리소스 기반): 특정 cgroup 내의 태스크 수가 비정상적으로 급증하는 패턴 모니터링 (예:
cat /sys/fs/cgroup/memory/*/memory.kmem.limit_in_bytes와 프로세스 수 상관관계 분석).
(3) 오탐 시나리오 및 튜닝: 매우 높은 부하가 걸리는 정상적인 워크로드에서도 Soft Lockup이 발생할 수 있습니다.VM Thread또는OOM process관련 호출 스택이 함께 나타나는지 확인하여 필터링해야 합니다.
🛡️ 완화 방안
- 즉시(긴급 차단):
- 사용자별 프로세스 생성 제한(
ulimit -u) 및 메모리 사용량 제한을 엄격히 적용하여 대량의 태스크 생성을 차단합니다. (난이도: 저 / 영향: 일부 애플리케이션 실행 제약 가능성)
- 사용자별 프로세스 생성 제한(
- 단기(완화):
cgroup설정을 통해 개별 그룹이 사용할 수 있는 최대 메모리와 프로세스 수를 제한하여 OOM 순회 대상 범위를 줄입니다. (난이도: 중 / 영향: 리소스 할당 최적화 필요)
- 근본(해결):
- Linux Kernel을 수정 버전으로 업데이트합니다. (영향 제품: 3.6 ~ 6.12.13, 6.13 ~ 6.13.2 범위 내 패치 적용). (난이도: 중 / 영향: 커널 업데이트 후 재부팅 필요로 인한 일시적 서비스 중단)
[분석 근거] 본 리포트는 다중 소스 교차검증을 통해 데이터 일관성이 확인되었으며, EPSS 실측값(0.0019, 백분위 0.08934)과 CVSS 5.5 및 로컬 공격 벡터(AV:L)를 근거로 실제 악용 가능성이 낮다고 판단하여 우선순위를 'monitor'로 결정하였습니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.0019 · exploit=hard · in_scope=None