CVE-2026-89917 in Linux정보

요약

\~에 의해 VulDB • 2026. 09. 16.

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

KVM: arm64: vcpu_put() VNCR 언매핑과 함께 발생하는 VNCR TLB 무효화 경쟁 조건 처리

VNCR TLB 무효화는 항상 MMU 잠금(MMU lock) 하에서 발생하지만, vcpu_put()은 그렇지 않으며 VNCR 페이지를 언매핑합니다.

문제는 무효화가 수행되기 전에 vncr_tlb::cpu를 평가하여 언매핑이 필요한지(cpu != -1) 결정한다는 점입니다. 반면에 this_cpu_reset_vncr_fixmap()는 L1_VNCR_MAPPED가 설정되어 있는 경우 조건 없이(unconditionally) 언매핑을 실행합니다.

두 작업은 TLBI 경로에서 TOCTOU(Time-of-Check to Time-of-Use) 패턴과 vcpu_put() 경로에서 BUG_ON() 오류를 유발하며 경쟁 상태(race condition)에 빠질 수 있습니다. 또한 두 경로는 모두 vncr_fixmap(-1)를 호출하여 치명적인 결과를 초래할 수 있습니다.

vncr_tlb::cpu의 초기화를 -1로 변경하는 코드를 공통 함수로 이동하고, 이 업데이트를 원자적(atomic)으로 만들어 단일 스레드만 해당 필드를 재설정하고 대응되는 언매핑을 수행하도록 합니다. vcpu_put()은 여전히 다른 치명적인 경쟁 조건(race condition)을 차단하기 위해 현재 VNCR을 조건 없이(unconditionally) 언매핑해야 합니다.

마지막으로, L1_VNCR_MAPPED가 설정되는 방식과 유사하게 실제 매핑 상태와 동기화되도록 vncr_tlb::cpu의 할당 위치를 변경합니다.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

책임이 있는

Linux

예약하다

2026. 09. 11.

모더레이션

수락

항목

VDB-405761

EPSS

0.00000

출처

Want to know what is going to be exploited?

We predict KEV entries!