CVE-2026-89916 in Linux
요약
\~에 의해 VulDB • 2026. 09. 17.
리눅스 커널에서 다음 취약점이 해결되었습니다:
KVM: arm64: VNCR 무효화가 MMU 무효화 재시도에 참여하도록 함
VNCR TLB 무효화는 하나의 vcpu가 실행되는 동안 다른 vcpu가 동일한 페이지에 대한 페일트를 발생시키는 상황에서 발생할 수 있습니다. 이를 올바르게 처리하지 않으면 다음과 같은 시나리오로 이어질 수 있습니다:
- vcpu A는 VNCR을 변환하기 위해 PT(페이지 테이블)를 탐색합니다. - vcpu A가 TLB를 삽입하기 위한 MMU 잠금을 획득하기 전에, vcpu B는 S1 PT들을 무효한 엔트리로 업데이트하고 해당 VA에 대해 TLBI S1E2를 발행합니다. - vcpu A는 이제 무효해진 항목에 대한 TLB를 삽입합니다.
이것은 새로운 문제가 아니며, 우리는 MMU 노티피어를 통해 mmu_invalidate_seq 카운터를 증가시켜 페일트를 재재생(replay)함으로써 S2 상황을 관리해 왔습니다.
우리는 여기서도 유사한 작업을 수행할 수 있으며, invalidate_vncr_va()를 확장하여 동일한 카운터를 업데이트하고 컨텍스트가 변경되었음을 명확히 나타낼 수 있습니다. 이는 무효화가 항상 MMU 잠금을 쓰기 모드로 획득한 상태에서 발생하며, S1을 탐색하기 전에 시퀀스 번호를 샘플링하므로 안전합니다.
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.