Linux · Linux Kernel · CVE-2024-42302
**Nome do software vulnerável e versões afetadas**
Versões do kernel Linux anteriores à 6.6.50
**Descrição**
O problema está relacionado a uma vulnerabilidade do tipo “use-after-free” no subsistema PCI/DPC do kernel Linux. Especificamente, a função `pci bridge wait for secondary bus()` deixa de manter uma referência ao dispositivo filho, levando a possíveis travamentos ou outros problemas de segurança quando um evento DPC ocorre simultaneamente à remoção a quente da mesma parte da hierarquia. A vulnerabilidade é causada pela função `dpc handler()`, que aguarda a disponibilidade do barramento secundário abaixo da porta downstream onde ocorreu o evento DPC e sonda o espaço de configuração do primeiro dispositivo filho no barramento secundário. Se esse dispositivo filho for removido simultaneamente, os acessos à sua `struct pci dev` causam a falha do kernel.
**Recomendações**
Para resolver o problema, atualize o kernel do Linux para a versão 6.6.50 ou posterior.
Como solução temporária, considere desativar a função `pci bridge wait for secondary bus()` até que um patch esteja disponível.
Restrinja o acesso ao subsistema PCI/DPC vulnerável para minimizar o risco de exploração.
Evite usar a função `pci dev wait()` em conjunto com `pci bridge wait for secondary bus()` até que o problema seja resolvido.