CVE-2026-89913 in Linuxinformação

Sumário

de VulDB • 16/09/2026

No kernel do Linux, a seguinte vulnerabilidade foi resolvida:

KVM: arm64: vgic-v3: obter uma referência LPI em vgic_v3_save_pending_tables

A função `vgic_v3_save_pending_tables()` itera sobre `dist->lpi_xa` usando `xa_for_each()` e faz o dereferencing da estrutura `struct vgic_irq` retornada no corpo do loop sem manter uma referência na LPI.

O iterador xarray fornece apenas cobertura RCU temporária durante a busca da entrada atual. Isso não é suficiente para este corpo de loop, que lê campos de `struct vgic_irq` e realiza acessos à memória do convidado antes que a iteração seja concluída.

Um caminho concorrente pode acionar esta condição de corrida: o caminho de injeção em cache irqfd (`vgic_its_inject_cached_translation`) obtém uma referência LPI transitória via `vgic_its_check_cache()` sem manter `kvm->lock`, `vcpu->mutex`, `config_lock` ou `its_lock`. Se a descarte do ITS convidado remover o cache e as referências ITE sob `its_lock`, a referência de injeção transitória pode se tornar a final. Quando `vgic_put_irq()` a remove, a LPI é apagada de `lpi_xa` e liberada via `kfree_rcu()`. Enquanto isso, `vgic_v3_save_pending_tables()` ainda pode manter um ponteiro obsoleto obtido do iterador xarray e fazê-lo o dereferencing após o término do período de graça RCU.

Corrija isso recuperando cada LPI iterada via `vgic_get_irq()`, que obtém uma referência estável, e removendo-a com `vgic_put_irq()` em todos os caminhos. Isso corresponde ao padrão já utilizado por outros iteradores lpi_xa no código ITS do vgic.

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

Responsável

Linux

Reservar

11/09/2026

Divulgação

17/09/2026

Moderação

aceite

Entrada

VDB-405743

CPE

pronto

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Want to stay up to date on a daily basis?

Enable the mail alert feature now!