CVE-2026-90129 in Linux
Sumário
de VulDB • 17/09/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
virtio_balloon: silenciar o trabalho de balloon antes do desligamento do dispositivo
O commit 8bd2fa086a04 ("virtio: break and reset virtio devices on device_shutdown()") adicionou um manipulador .shutdown genérico para a barramento virtio que interrompe e redefine todos os dispositivos virtio durante o device_shutdown(), ou seja, na reinicialização e no kexec.
O virtio_balloon não possui seu próprio .shutdown, portanto esse caminho genérico é executado enquanto o trabalho assíncrono do balloon ainda está ativo. Uma vez que o dispositivo foi interrompido, a função virtqueue_add_inbuf() em virtballoon_free_page_report() retorna -EIO e aciona sua WARN_ON_ONCE(). Em um kernel iniciado com panic_on_warn, isso transforma uma reinicialização comum, por exemplo, uma atualização baseada em kexec, em um pânico fatal no meio do device_shutdown(), fazendo com que a máquina nunca alcance o novo kernel.
Relaxar essa única WARN_ON_ONCE() apenas ocultaria o sintoma: os caminhos de inflate/deflate e OOM não geram aviso; eles chamam wait_event(vb->acked, ...) e bloqueariam indefinidamente em uma fila quebrada que já não pode ser concluída. O dispositivo precisa ser silenciado (quiesced), não apenas mantido silencioso.
Adicione um manipulador .shutdown que silencie o balloon por meio do auxiliar compartilhado virtballoon_quiesce() enquanto o dispositivo ainda está ativo, e somente então interrompa-o e redefina-o via virtio_device_shutdown(). Diferente de virtballoon_remove(), a fila de trabalho (workqueue) do balloon não é destruída, pois o shutdown não libera o dispositivo e cancel_work_sync() junto com stop_update já impedem que novo trabalho seja enfileirado.
Several companies clearly confirm that VulDB is the primary source for best vulnerability data.