[공격] 분석 — CVE-2025-21645
A logic error in the AMD PMC driver causes an unbalanced IRQ1 wake disable during S4 hibernation, leading to a kernel warning (WARN); update the Linux kernel to the patched version.
📋 요약
- 심각도 medium · CVSS 5.5 · EPSS 0.00241 · 악용난이도 hard
🔍 공격 기법
(1) 트리거 조건: x86 AMD 플랫폼에서 i8042가 IRQ1 wakeup을 활성화하지 않은 상태로 시스템이 S4(Hibernation) 상태에 진입할 때 발생함. 구체적으로는 부팅 후 s2idle 단계를 거치지 않고 즉시 하이버네이션을 시도하는 경로에서 트리거됨.
(2) 공격 단계:
- 정찰: 대상 시스템의 CPU 아키텍처(AMD) 및 커널 버전 확인.
- 초기 접근: 로컬 사용자 권한 획득 (AV:L, PR:L).
- 실행/영향: 하이버네이션 명령 수행 $\rightarrow$
amd_pmc_suspend_handler()호출 $\rightarrow$i8042가 활성화하지 않은 IRQ1의 wakeup을 강제로 disable 시도 $\rightarrow$wake_depth값이 음수로 떨어지며 커널 내irq_set_irq_wake함수에서WARN()발생.
(3) 공격 표면:
- 노출 엔드포인트: Linux Kernel PMC (Platform Management Controller) 드라이버.
- 관련 함수:
amd_pmc_suspend_handler(),i8042_pm_suspend(),irq_set_irq_wake().
(4) CVSS 벡터 연결:
- AV:L (Local): 물리적/원격 접근이 아닌 로컬 쉘 권한 필요.
- AC:L (Low): 특정 전원 상태 전환이라는 단순 조건만 충족하면 됨.
- PR:L (Low): 하이버네이션을 트리거할 수 있는 일반 사용자 권한으로 충분함.
- UI:N (None): 사용자 상호작용 불필요.
악용 가능성: 본 취약점은 AV:L/PR:L 벡터가 가리키듯, 이미 시스템에 로그인한 권한을 가진 로컬 사용자가 전제되어야 하므로 공격 난이도는 Hard로 판정됩니다. 실제 공격 표면은 Linux 커널의 platform/x86/amd/pmc 드라이버 내 amd_pmc_suspend_handler() 함수와 i8042 컨트롤러 간의 IRQ1 웨이크업 설정 로직으로 한정됩니다. 공격자는 시스템을 Suspend, Freeze 또는 Poweroff 상태로 진입시키는 전원 관리 프로세스를 트리거하여 wake_depth 값이 음수로 떨어지는 조건(Unbalanced IRQ wake disable)을 유도해야 합니다. 다만, EPSS 수치가 0.00241로 매우 낮고 KEV에 등재되지 않은 점은 이 결함이 원격 코드 실행(RCE)이나 즉각적인 권한 상승으로 이어지기보다 커널 패닉이나 WARN() 로그 발생으로 인한 서비스 거부(DoS) 가능성에 치우쳐 있음을 시사합니다. 결과적으로 특정 하드웨어 구성과 로컬 접근 권한이 동시에 충족되어야 하며, 단순한 상태 불일치로 인한 런타임 경고 수준의 영향력이기에 실전 악용 가능성은 매우 제한적입니다.
💥 영향 분석
(1) 기술적 위험: 커널 로그에 Unbalanced IRQ 1 wake disable 경고가 기록되며, 추정: 커널 상태의 불안정성으로 인한 시스템 크래시 또는 비정상적인 전원 관리 동작이 발생할 수 있음. 다만, 직접적인 권한 상승이나 데이터 유출로 이어지는 메모리 오염 취약점은 아님.
(2) 비즈니스 영향: 서비스 가용성 저하. 특히 하이버네이션 기능을 사용하는 워크스테이션이나 엣지 디바이스에서 예기치 못한 재부팅이나 로그 스팸으로 인한 관리 효율 저하가 발생함.
🔗 관련 취약점·체이닝
- 체이닝 경로: 추정: 단독으로는 DoS(서비스 거부) 수준의 영향만 가지나, 커널 내
WARN()발생 시 덤프되는 레지스터 정보나 스택 트레이스가 다른 메모리 누수 취약점과 결합될 경우, KASLR 우회를 위한 커널 주소 정보 노출(Information Leak) 경로로 활용될 가능성이 있음. - 유형 패턴: Logic Error $\rightarrow$ Kernel Warning $\rightarrow$ 추정: Information Leak/DoS.
🔎 탐지
(1) 로그 지표: dmesg 또는 /var/log/syslog 내에 특정 문자열 패턴 기록.
(2) 탐지 규칙:
- 로직:
grep -E "Unbalanced IRQ 1 wake disable|irq_set_irq_wake\+0x147" - SIEM 쿼리 예시:
index=linux_logs message="*Unbalanced IRQ 1 wake disable*"
(3) 오탐 시나리오: 패치되지 않은 AMD 시스템에서 정상적인 전원 관리 동작 중 발생하는 단순 경고일 수 있음. 하이버네이션 직후 해당 로그가 반복적으로 발생하는지 확인하여 튜닝.
🛡️ 완화 방안
- 즉시(긴급 차단): S4(Hibernation) 기능 비활성화. (난이도: 저 / 영향: 전원 관리 기능 일부 상실 / 검증:
systemctl hibernate실행 시 거부 확인) - 단기(완화): 하이버네이션 진입 전
s2idle상태를 먼저 거치도록 유도하여 트리거 조건 회피. (난이도: 중 / 영향: 전원 전환 단계 증가로 인한 지연 / 검증: 로그 모니터링) - 근본(해결): 영향받는 커널 버전(5.15.95
5.16, 6.1.116.1.140, 6.2.16.6.72, 6.76.12.10 등)에서 패치된 최신 커널로 업데이트. (난이도: 중 / 영향: 재부팅 필요 및 드라이버 호환성 검토 필요 / 검증:uname -r확인 및 하이버네이션 테스트)
[분석 근거] 본 리포트는 다중 소스 교차검증을 통해 데이터 일관성이 확인되었으며, EPSS 실측값(0.00241, 백분위 0.15373)이 매우 낮고 KEV에 등재되지 않았으며 AV:L 조건임을 근거로 'monitor' 우선순위를 결정함. 이는 이론적 CVSS(5.5)보다 실제 악용 가능성이 현저히 낮음을 의미함.
⚖️ 위험도 / 우선순위
- 조치: monitor (모니터링)
- 근거: CVSS=5.5 · non-KEV · EPSS=0.00241 · exploit=hard · in_scope=None