🔍 CVE-2026-97925

0.0
CVSS Score
UNKNOWN
2026-09-25
2026-10-19 10:17
✅ 완료

🇰🇷 한글 설명

Linux 커널의 tick/broadcast 구성 요소에서 클록 이벤트 장치를 교체할 때 발생하는 레이스 컨디션 취약점입니다. 장치 교체 과정이 직렬화되지 않아 분리된 장치에 이벤트가 설정될 수 있으며, 특정 상황에서 커널 BUG()를 유발할 수 있습니다.

💡 쉬운 설명

컴퓨터의 시간을 관리하는 장치를 교체하는 도중에 다른 작업이 끼어들어 시스템이 혼란을 겪는 문제입니다. 이로 인해 시스템이 예상치 못한 오류를 일으키며 멈출 수 있습니다.

🇺🇸 원문 (English)

In the Linux kernel, the following vulnerability has been resolved: tick/broadcast: Plug clockevents replacement race 朱恺乾 reported and decoded the following race condition when a broadcast device is replaced: CPUA CPUB __tick_broadcast_oneshot_control() bc = tick_broadcast_device.evtdev; tick_install_broadcast_device(dev) clockevents_exchange_device(cur, dev) shutdown(cur); detach(cur); cur->handler = noop; tick_broadcast_device.evtdev = dev; tick_broadcast_set_event(bc, next_event); <- FAIL: arms a detached device. If the original broadcast device has a restricted interrupt affinity mask and the last CPU in that mask goes offline then the BUG() in tick_cleanup_dead_cpu() triggers because the clockevent device is not in detached state. The reason for this is that tick_install_broadcast_device() is not serialized vs. tick broadcast operations. The obvious cure is to serialize tick_install_broadcast_device() with tick_broadcast_lock against a concurrent tick broadcast operation. That requires to split clockevents_exchange_device() into two parts, one which does the exchange, shutdown and detach operation and the other which drops the module reference count. This is required because the module reference cannot be dropped while holding tick_broadcast_lock. Let clockevents_exchange_device() do both operations as before, but let the broadcast device code take the two step approach and do the device exchange under tick_broadcast_lock and drop the module reference count after releasing it.

📍 영향받는 시스템

Linux Kernel (tick/broadcast 관련 모듈을 사용하는 버전)

⚔️ 공격 벡터

로컬 공격자가 특정 하드웨어 구성 변경이나 CPU 오프라인 상태를 유도하여 레이스 컨디션을 발생시킴

🛡️ 대응 방법

Linux 커널을 최신 보안 패치가 적용된 버전으로 업데이트하여 tick_broadcast_lock을 통한 직렬화 적용

🔧 검증 코드

출력된 커널 버전이 해당 취약점이 해결된 패치 버전 이후인지 확인

Shell / Script
uname -r

💻 영향받는 소프트웨어

Linux Kernel