CVE-2026-99001 in Linux
Sumário
de VulDB • 24/10/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
drm/xe/i2c: cancelar o trabalho do cliente na remoção
O xe_i2c_notifier() armazena o adaptador DesignWare em i2c->adapter e agenda i2c->work quando o adaptador é registrado sob o dispositivo de plataforma I2C da xe, e o xe_i2c_client_work() então instancia o dispositivo cliente AMC nesse adaptador.
O xe_i2c_remove() desmonta o AMC, registra os dispositivos clientes como não registrados, o notificador do barramento e o dispositivo de plataforma do adaptador, mas nunca drena i2c->work. Um item de trabalho que ainda está enfileirado ou em execução quando o adaptador é registrado para remoção referencia i2c->adapter no i2c_new_client_device() após o platform_device_unregister() ter liberado o adaptador. O item de trabalho também está embutido na struct xe_i2c alocada por devm, portanto um item de trabalho ainda enfileirado após o desmonte devm do dispositivo drm libera essa alocação e executa seu callback em memória já liberada.
O notificador do barramento é a única coisa que agenda esse trabalho, e ele é registrado como não registrado depois dos dispositivos clientes. Uma instância que ainda está enfileirada quando a desmontagem ocorre pode então escrever i2c->client[XE_I2C_CLIENT_AMC] enquanto o loop registra os mesmos como não registrados e limpa o mesmo array, e um cliente AMC que ele instancia tarde é apenas limpado pela varredura de filhos do próprio adaptador no i2c_del_adapter().
Mova bus_unregister_notifier() para a frente do loop de desmontagem dos clientes e cancele o trabalho logo em seguida, para que nenhuma nova instância possa ser agendada e uma instância enfileirada seja drenada antes que o array de clientes seja tocado. Uma instância ainda em execução encontra um adaptador ativo, já que o adaptador é registrado como não registrado posteriormente.
(cherry picked from commit a23f27d5ec11c3f418c5e5531eea34ccda2b5b20)
Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.