No kernel Linux, a seguinte vulnerabilidade foi resolvida. mm/page_reporting: use system_freezable_wq para corrigir UAF durante a suspensão Durante o congelamento do PM (por exemplo, S 3 suspensão ou S 4 hibernação), drivers de dispositivos como virtio_ balão reiniciar seus dispositivos virtio subjacentes e excluir suas virtqueues via vdev->config->del_vqs(). No entanto, o trabalho de reporte de página (page_reporting_process) foi agendado no sistema global_wq. Como o system_wq não tem a bandeira WQ_FREEZABLE, o congelador PM o ignora, deixando o processo page_reporting ativo durante a suspensão.
Se as páginas são liberadas no allocador de amigos enquanto suspensas (por exemplo, quando o núcleo MM invoca o encolhedor de balões durante o S 4 salvamento de imagem de hibernação), o relatório de página ativa virtballoon_free_page_report() em virtqueues excluídos, resultando em uma falha de proteção geral/Free de uso: [ 196.795226 ] falha de proteção geral, provavelmente para endereço não-canonico 0 xaa 1436 fe 70 dae 6 DF: 0000 [# 1 ] SMP NOPTI [ 196.825967 ] Workqueue: eventos page_reporting_process [ 196.831038 ] RIP: 0010:virtqueue_add_split+ 0 x 233 / 0 x 4 c 0 [virtio_ring] [ 196.927073 ] virtballoon_free_page_report+ 0 x 3 a/ 0 xe 0 [virtio_ballon] [ 196.946943 ] page_reporting_process+ 0 x 370 / 0 x 4 f 0.
Corrija isso mudando o trabalho de relatório de página para system_freezable_wq. Isso garante que o congelador PM pausa o processo page_reporting antes que os drivers de dispositivos destruam os seus virtuosidades de reporte. Como o trabalhador que reporta está congelado, a recuperação/libertação da memória (por exemplo, através da execução de encolhedor) pode devolver páginas para MM com segurança durante o congelamento sem desencongelar o trabalho de relatórios em virtues excluídos. Isto se alinha com o projeto existente do driver. O comentário em virtballoon_ congelaze() indica: /* * A queue de trabalho já está congelada pelo núcleo de MP antes de esta função * ser chamada. */.
Teste: Eu verifiquei estas correções usando a infraestrutura de virtualização do Googles executando iterações contínuas de suspensão/resumo ( 40 + ciclos) enquanto a memória de churning usando stress-ng (`stress-ng -- vm 4 -- vm-bytes 60% -- tempo de saída 1 `) para criar páginas gratuitas para o allocador de amigos. Também definimos o parâmetro `page_reporting_order` para 0 para tornar o trabalhador que reporta a página altamente sensível, forçando-o a pegar qualquer 4 K páginas livres. Isto confirmou que as falhas UAF não são mais reprodutíveis. Registro de aconselhamento: GHSA-hf 76 - hfqm- mx 9 q. Identificadores relacionados: CVE- 2026 - 74481.
Tempo: GitHub Advisory Database publicou este registro em 2026 - 08 - 15 T 15: 30: 34.000 Z e lista a sua última modificação como 2026 - 08 - 19 T 18: 32: 28.000 Z. Severidade: ALTAMENTE. Dados de pontuação publicados: CVSS_V 3: CVSS: 3.1 /AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:H.
Software afetado: o registro de aconselhamento não fornece um pacote normalizado ou faixa de versões. Classificação e evidência: nenhum identificador CWE está listado. O registro contém 9 suporte de referências nestes tipos: AVISO, WEB.