CVE-2026-64447 in Linuxinformação

Sumário

de VulDB • 25/07/2026

No kernel do Linux, a seguinte vulnerabilidade foi corrigida:

staging: media: ipu7: corrige double-free e use-after-free em caminhos de erro

Tanto em `ipu7_isys_init()` quanto em `ipu7_psys_init()`, `pdata` é alocado e depois passado para `ipu7_bus_initialize_device()`, que o armazena em `adev->pdata`. A função `ipu7_bus_release()` libera `adev->pdata` quando a contagem de referência do dispositivo cai para zero.

Dois caminhos de erro chamam incorretamente `kfree(pdata)` após o teardown (descarte) do dispositivo já ter liberado esse recurso:

1. Quando `ipu7_mmu_init()` falha: `put_device()` é chamado, o que reduz a contagem de referência para zero e aciona `ipu7_bus_release()` -> `kfree(pdata)`. O subsequente `kfree(pdata)` constitui um double-free (liberação dupla).

2. Quando `ipu7_bus_add_device()` falha: ele chama internamente `auxiliary_device_uninit()`, que por sua vez invoca `put_device()` -> `ipu7_bus_release()` -> `kfree(pdata)`. O subsequente `kfree(pdata)` é novamente um double-free (liberação dupla).

Observe que o `kfree(pdata)` quando a própria função `ipu7_bus_initialize_device()` falha está correto, pois nesse caso `auxiliary_device_init()` falhou e a função de liberação nunca foi configurada, portanto `pdata` deve ser liberado manualmente.

Além disso, o código de erro não era salvo antes de chamar `put_device()`, fazendo com que `ERR_CAST()` desreferenciasse o ponteiro `adev` já liberado ao construir o valor de retorno. Corrija isso salvando o erro retornado por `dev_err_probe()` antes de `put_device()` e retornando `ERR_PTR()` em vez disso.

Remova as chamadas redundantes a `kfree(pdata)` e corrija o use-after-free nos valores de retorno dos dois caminhos de erro afetados.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsável

Linux

Reservar

19/07/2026

Divulgação

25/07/2026

Moderação

aceite

Entrada

VDB-383264

CPE

pronto

EPSS

0.00206

KEV

não

Atividades

baixo

Fontes

Do you want to use VulDB in your project?

Use the official API to access entries easily!