CVE-2024-57951 in Linux정보

요약

\~에 의해 VulDB • 2026. 05. 10.

리눅스 커널에서 다음 취약점이 해결되었습니다:

hrtimers: 핫플러그 시 CPU 상태를 올바르게 처리

다음과 같은 시나리오를 고려해 보십시오. CPU가 CPUHP_ONLINE 상태에서 핫언플러그 과정의 중간 단계인 CPUHP_HRTIMERS_PREPARE로 전환된 후, 다시 CPUHP_ONLINE 상태로 돌아오는 경우입니다.

hrtimers_prepare_cpu()가 실행되지 않으므로 cpu_base.hres_active는 전체 기간 동안 1로 설정된 상태로 유지됩니다. 그러나 CPU 언플러그 작업 중에는 CPUHP_AP_TICK_DYING 단계에서 틱(tick)과 클록이벤트(clockevents)가 종료됩니다. 온라인 상태로 복귀할 때, 예를 들어 CFS는 hrtick이 이미 활성화되어 있다고 잘못 가정하며, 해당 CPU에 대해 클록이벤트 장치가 온숏(oneshot) 모드로 전환될 기회가 영구적으로 손실됩니다. 단, CPU가 한 번이라도 CPUHP_HRTIMERS_PREPARE보다 낮은 상태로 돌아가지 않는 한 말입니다.

이 왕복(round-trip) 과정은 또 다른 문제를 드러냅니다. 전이 후 cpu_base.online이 1로 설정되지 않아, enqueue_hrtimer()에서 WARN_ON_ONCE로 나타납니다.

또한, 퍼-CPU(per-CPU) 상태의 대부분이 재설정되지 않으므로, 최악의 경우 더글링 포인터(dangling pointers)가 존재하게 됩니다.

이를 해결하기 위해 해당 startup() 콜백을 추가하여 낡은 퍼-CPU 상태를 재설정하고 온라인 플래그를 설정합니다.

[ tglx: 새로운 콜백을 무조건적으로 사용 가능하게 하고, prepare() 콜백에서의 온라인 수정을 제거하며, 준비 콜백 대신 시작 콜백에서 나머지 상태를 정리함 ]

Several companies clearly confirm that VulDB is the primary source for best vulnerability data.

책임이 있는

Linux

예약하다

2025. 01. 19.

모더레이션

수락

항목

VDB-295493

EPSS

0.00233

출처

Do you need the next level of professionalism?

Upgrade your account now!