[공격] 분석 — CVE-2024-27056
CVE‑2024‑27056 is a local kernel bug in iwlwifi that lets an unprivileged user trigger a system crash on resume by exploiting a missing offload TID queue, requiring immediate patching or mitigation.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.0024 · 악용난이도 hard
🔍 공격 기법
-
공격 전제
- 대상 시스템이 Linux kernel < 6.1.132 또는 6.2‑6.6.85, 6.7‑6.7.11 범위에 존재함을
uname -r등으로 확인한다(다중 소스 교차검증·신뢰도 1.0). - 공격자는 로컬 계정(Low privilege)만 보유하고 있어도 수행 가능하다(CVSS PR:L, AV:L).
- 대상 시스템이 Linux kernel < 6.1.132 또는 6.2‑6.6.85, 6.7‑6.7.11 범위에 존재함을
-
공격 흐름
- 정찰 – 커널 버전 확인 후 iwlwifi 모듈이 로드된 상태(
lsmod | grep iwlwifi)를 파악한다. - 초기 접근 – 별도 권한 상승 없이 쉘을 획득한 뒤, Wi‑Fi 인터페이스를 비활성화하거나 TID 0에 패킷이 전송되지 않도록
ip link set wlan0 down등으로 트래픽을 차단한다. - 트리거 – 시스템을 suspend 상태로 전환(
echo mem > /sys/power/state)하고, 즉시 resume 이벤트(전원 버튼, LAN‑Wake) 를 발생시킨다. - 실행·권한 획득 – iwlwifi 드라이버의
resume경로가 오프로드 TID 0 큐 존재를 가정하고write pointer동기화 시도하면서 NULL 포인터 deref 로 커널 패닉이 발생한다. 이 단계는 CVSS A:H(Availability High)와 일치한다. - 영향 – 시스템 전체가 강제 재부팅되며 서비스 거부(DoS)가 실현된다.
- 정찰 – 커널 버전 확인 후 iwlwifi 모듈이 로드된 상태(
-
공격 표면
- 노출 엔드포인트:
/sys/power/state(Suspend), Wi‑Fi 인터페이스 제어 netlink/ioctl, iwlwifi 모듈 내부resume함수. - CVSS 벡터와 실제 조건 매핑: AV:L ↔ 로컬 파일/시스템 호출, AC:L ↔ 단순 suspend/resume 명령, PR:L ↔ 일반 사용자 권한, UI:N ↔ 사용자 상호작용 불필요.
- 노출 엔드포인트:
-
핵심 원리 – 오프로드 TID 큐가 사전 할당되지 않은 경우를 가정하지 못하는 논리 오류(Null‑check 누락)이며, 이는 suspend → resume 흐름에서만 발현된다.
악용 가능성: 이 취약점은 AV:L / AC:L / PR:L / UI:N 로 평가된 바와 같이, 로컬에서 권한이 낮은 사용자라도 별도의 사용자 상호작용 없이 실행할 수 있는 조건을 만족합니다. 실제 공격이 성립하려면 시스템을 Suspend → Resume 순서로 전환하고, TID 0에 한 번도 패킷을 전송하지 않은 상태가 유지되어야 하며, 이는 sysfs 혹은 pm-utils 등을 이용해 로컬 프로세스가 전원 상태를 조작함으로써 달성할 수 있습니다. 공격 표면은 Linux 커널 iwlwifi 드라이버의 resume 코드와 그 내부에서 호출되는 iwl_mvm_sync_write_ptr() 함수이며, 노출된 인터페이스는 주로 ioctl 혹은 netlink을 통한 무선 디바이스 제어 경로입니다. 트리거 조건이 충족되면 할당되지 않은 TX queue에 접근하려다 커널 패닉이 발생하므로, 공격자는 시스템 다운(DoS) 효과를 얻을 수 있습니다. EPSS가 0.0024 로 매우 낮고 KEV 목록에도 포함되지 않아 실제 악용 사례는 거의 보고되지 않았지만, 로컬 권한만으로 재현 가능한 구조적 결함이기에 이론적인 위협 수준은 여전히 “hard”로 유지됩니다. 따라서 방어자는 해당 드라이버가 최신 커밋(큐 초기화 보완)으로 업데이트되어 있는지 확인하고, 불필요한 로컬 전원 제어 권한을 최소화하는 것이 실질적인 위험 감소에 도움이 됩니다.
💥 영향 분석
- 성공 시 시스템이 커널 패닉을 일으켜 즉시 재부팅되며, 서비스 중단 및 운영 비용 증가가 발생한다.
- 기밀성·무결성 손상은 없으며( CVSS C:N I:N ), 가용성만 심각하게 영향을 받는다(A:H).
🔗 관련 취약점·체이닝
- 유형: 로컬 권한 오류에 의한 커널 패닉(CWE‑??, 정확한 번호는 확인되지 않음).
- 가능한 체인
- DoS → 재부팅 후 초기화 단계 이용: 시스템 재시작 시 initramfs 혹은 자동 실행 스크립트를 조작할 수 있는 별도 로컬 권한 상승 취약점(CVE‑xxxx‑yyyy 등)과 결합하면 영구적 코드 실행이 가능하다(추정).
- 전원 관리 관련 다른 버그: 동일 커널 라인에서 전원 관리(pci, usb)와 연관된 취약점이 존재한다면, 연속적인 suspend/resume 트리거를 통해 복합적인 서비스 거부 및 메모리 손상을 유도할 수 있다(추정).
🔎 탐지
- 로그 기반:
dmesg·/var/log/kern.log에 “iwlwifi … offloading TID queue” 혹은 “BUG: kernel NULL pointer dereference”와 같은 메시지가 나타날 경우. - 행위 기반: 시스템 suspend 직후 짧은 시간 내에 커널 패닉이 발생하는 이벤트를 모니터링한다(예:
systemdsuspend.target→kernel panic).
🛡️ 완화 방안
- 패치 적용 – 공식 업데이트된 커널 버전(≥ 6.1.132, ≥ 6.2‑6.6.85, ≥ 6.7.12)으로 즉시 업그레이드한다.
- 임시 회피 – iwlwifi 모듈 로드 시
offload_disable=1(가능한 경우) 옵션을 지정하거나, Wi‑Fi 인터페이스를 비활성화하고 suspend 기능을 사용하지 않는다. - 모니터링 강화 – 위 탐지 지표를 SIEM에 연동해 실시간 알림을 설정한다.
- 운영 정책 – 취약 커널이 배포된 시스템은 자동 업데이트 정책을 검토하고, 중요 서비스가 실행 중인 서버에서는 suspend/hibernate 사용을 제한한다.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.0024 · exploit=hard · in_scope=None