[공격] 분석 — CVE-2024-57977
A soft lockup vulnerability in the Linux kernel memcg OOM process allows local users to cause a Denial of Service (DoS), requiring immediate kernel updates or resource limits.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.0019 · 악용난이도 hard
🔍 공격 기법
(1) 트리거 조건
memcg(Memory Control Group) 내에 대량의 태스크(약 56,000개 이상 추정)가 생성된 상태에서 OOM(Out of Memory) 상황이 발생할 때 트리거됨.- 커널이 OOM 프로세스 처리 중 해당 cgroup 내의 모든 태스크를 순회(traversing)하는 과정에서 CPU 점유 시간이 임계치를 초과하여
soft lockup이 발생함.
(2) 공격 단계
- 정찰: 대상 시스템의 커널 버전(
linux_kernel 3.6 - 6.12.13,6.13 - 6.13.2) 및 cgroup 설정 확인. - 초기 접근: 로컬 쉘 권한 확보(CVSS PR:L).
- 실행/영향:
- 다수의 프로세스를 생성하여 특정 memcg에 할당.
- 메모리 고갈 상태를 유도하여 OOM Killer를 활성화.
- 커널이 대량의 태스크 리스트를 순회하며 CPU를 독점,
watchdog: BUG: soft lockup발생 및 시스템 응답 불가 상태 유도.
(3) 공격 표면
- 노출 지점: Linux Kernel Memory Controller (
memcg) 및 OOM Killer 프로세스. - 파라미터/함수:
console_unlock,vprintk_emit등 커널 내부 함수에서 락업 현상 관측.
(4) CVSS 벡터 분석 (CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:N/I:N/A:H)
- AV:L: 로컬 접근이 필요함. 원격에서 직접 트리거는 불가능하며, 이미 침투한 공격자가 가용성을 파괴하는 용도로 사용.
- AC:L / PR:L: 낮은 복잡도와 일반 사용자 권한만으로 실행 가능.
- A:H: 시스템 전체가 멈추는 Soft Lockup이 발생하므로 가용성에 치명적 영향.
악용 가능성: 본 취약점은 AV:L/PR:L 벡터가 보여주듯, 공격자가 이미 시스템 내에 낮은 권한의 계정으로 접근해 있는 상태에서만 트리거 가능한 로컬 DoS 취약점으로, 공격 난이도는 Hard로 판단됩니다. 실제 악용을 위해서는 memcg(Memory Control Group) 내에 약 56,000개 이상의 방대한 Task를 생성하여 OOM(Out of Memory) 프로세스가 이를 순회하는 과정에서 CPU가 점유되는 특수한 환경을 인위적으로 조성해야 합니다. 공격 표면은 커널의 메모리 관리 서브시스템 및 cgroup 인터페이스에 국한되며, 특정 엔드포인트보다는 시스템 자원 할당 메커니즘 자체가 트리거 포인트가 됩니다. EPSS 수치가 0.0019로 매우 낮고 KEV에 등재되지 않은 점은, 일반적인 외부 공격 경로가 부재하며 정교하게 설계된 리소스 고갈 시나리오 없이는 실전에서 발현되기 어려움을 뒷받침합니다. 결과적으로 이 취약점은 원격 실행이나 권한 상승보다는, 특정 조건 하에서 시스템을 무력화하는 Soft Lockup 유발 가능성에 초점이 맞춰져 있어 실제 악용 가능성은 제한적입니다.
💥 영향 분석
(1) 기술적 위험
- 서비스 중단 (DoS): CPU가 특정 커널 루프에 갇혀 인터럽트 처리가 불가능해지며, 시스템 전체가 프리징(Freezing)되거나 재부팅됨.
- 데이터 무결성: 직접적인 데이터 유출이나 변조는 없으나, 비정상 종료로 인한 파일 시스템 손상 가능성이 존재함.
(2) 비즈니스 영향
- 서비스 가용성: 클라우드 환경(예: Huawei Cloud OpenStack Nova 등)에서 특정 VM/컨테이너가 호스트 전체의 CPU 자원을 고갈시켜 동일 노드 내 다른 서비스까지 영향을 줄 수 있는 잠재적 위험이 있음.
🔗 관련 취약점·체이닝
- 추정 체이닝 경로:
로컬 권한 획득(LPE) → 리소스 고갈 유도(DoS). - 단독으로는 권한 상승이 불가능하지만, 특정 서비스의 가용성을 강제로 떨어뜨려 Failover 메커니즘을 유도하거나, 시스템 재부팅 과정에서 발생하는 다른 부트 타임 취약점을 노리는 체이닝으로 이어질 수 있음.
- 추정 유형: CWE-400 (Uncontrolled Resource Consumption) 패턴의 리소스 고갈 공격.
🔎 탐지
(1) 로그 지표
- 커널 로그(
dmesg,/var/log/syslog) 내watchdog: BUG: soft lockup - CPU#및Comm: VM Thread문자열 발생 확인.
(2) 탐지 규칙 예시
- SIEM 쿼리:
message contains "soft lockup" AND message contains "OOM" - 로직: 특정 시간 내에 동일 CPU에서
soft lockup메시지가 반복적으로 출력되고, 동시에memcg관련 메모리 압박 로그가 감지될 경우 경보 발생.
(3) 오탐 시나리오 및 튜닝
- 오탐: 실제 하드웨어 결함이나 매우 무거운 정상 워크로드로 인한 일시적 CPU 점유.
- 튜닝:
OOM관련 함수 호출 스택(Call Trace)이 함께 나타나는지 확인하여 일반적인 성능 저하와 구분.
🛡️ 완화 방안
- 즉시(긴급 차단):
pids.max설정을 통해 cgroup당 생성 가능한 프로세스 수를 제한하여 대량의 태스크 순회 상황을 원천 차단. (난이도: 저 / 영향: 특정 앱 동작 제약 가능성 / 검증:cat /sys/fs/cgroup/pids/...)
- 단기(완화):
- 메모리 모니터링 임계치를 낮추어 OOM 발생 전 조기에 프로세스를 강제 종료하는 스크립트 운용. (난이도: 중 / 영향: 서비스 불안정성 증가 / 검증: 모니터링 알람 작동 확인)
- 근본(해결):
- 취약점이 해결된 최신 커널 버전으로 업데이트. (난이도: 중 / 영향: 재부팅 필요로 인한 일시적 다운타임 / 검증:
uname -r버전 확인)
- 취약점이 해결된 최신 커널 버전으로 업데이트. (난이도: 중 / 영향: 재부팅 필요로 인한 일시적 다운타임 / 검증:
[분석 근거] 본 리포트는 다중 소스 교차검증을 통해 데이터 일관성이 확인되었으며, EPSS 0.0019(백분위 0.08934)라는 실측값을 통해 실제 악용 가능성이 매우 낮음(hard)을 확인했습니다. 이에 따라 CVSS 5.5의 심각도에도 불구하고 우선순위를 monitor로 결정하였습니다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.0019 · exploit=hard · in_scope=None