No kernel Linux, a seguinte vulnerabilidade foi resolvida. nvme- pci: corrigir o uso-após- livre em nvme_free_host_mem() nvme_free_host_mem() liberta dev->hmb_sgt via dma_free_noncontiguous() mas nunca limpa o ponteiro depois. Isto leva a um uso-após- livre se nvme_free_host_mem() for chamado duas vezes no mesmo caminho de erro. Isto pode acontecer durante nvme_probe() quando nvme_setup_host_mem() conseguir alocar o HMB (definindo dev->hmb_sgt) mas nvme_set_host_mem() falha com um erro de E/ S:.

nvme_setup_host_mem() nvme_alloc_host_mem_single() -> define dev->hmb_sgt nvme_set_host_mem() -> falha com -EIO nvme_free_host_mem() -> liberta hmb_sgt, mas NÃO TUDO retorna o erro o caminho de erro nvme_probe(): nvme_free_host_mem() -> dev->hmb_sgt é estável, o uso-após-livre. A segunda chamada desreferência o sgt libertado, causando uma desreferência de ponteiro NULL em iommu_dma_free_noncontiguous() quando ele acessam o sgt->sgl->dma_address (a memória de backup foi liberada e zeroada). Isto é reprodutível nos dispositivos NVMe conectados ao Thunderbolt (por exemplo, OWC Envoy Express por trás de um Dell WD 22 TB 4 dock) onde o dispositivo retorna intermitentemente erros de E/ S durante a configuração do HMB devido à instabilidade da ligação PCIe.

BUG: kernel NULL pointer dereference, endereço: 0000000000000010 RIP: 0010:iommu_dma_free_noncontiguous+ 0 x 22 / 0 x 80 Chame o rastreamento: dma_free_noncontiguous+ 0 x 3 b/ 0 x 130 nvme_free_host_mem+ 0 x 30 / 0 xf 0 [nvme] nvme_probe.frio+ 0 xcc/ 0 x 275 [nvme] local_pci_prove+ 0 x 43 / 0 xa 0 pci_device_prove+ 0 xeea/ 0 x 290 realmente_prova+ 0 xf 9 / 0 x 3 b 0 __driver_probe_device+ 0 x 8 b/ 0 x 170 driver_probe_device+ 0 x 24 / 0 xd 0 __driver_attach_async_helper+ 0 x 6 b/ 0 x 110 async_run_entry_fn+ 0 x 37 / 0 x 170 processo_one_work+ 0 x 1 ac/ 0 x 3 d 0 worker_thread+ 0 x 1 b 8 / 0 x 360 kthread+ 0 xf 7 / 0 x 130 ret_from_fork+ 0 x 2 d 8 / 0 x 3 a 0 ret_from_fork_asm+ 0 x 1 a/ 0 x 30 Corrija isso configurando dev->hmb_sgt para NULL após libertá- lo, assim a segunda chamada toma o caminho de multi- descritor que seguramente manipula o estado já limpo. Registro de aconselhamento: GHSA- g 774 - 9 rm 3 - mcq 6. Identificadores relacionados: CVE- 2026 - 64071.

Tempo: GitHub Advisory Database publicou este registro em 2026 - 07 - 19 T 18: 31: 51.000 Z e lista a sua última modificação como 2026 - 07 - 19 T 18: 31: 51.000 Z. Severidade: não classificado. Nenhum vetor de pontuação está listado no registro.

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 4 suporte de referências nestes tipos: AVISO, WEB.