Linux · Linux Kernel · CVE-2023-52749
**Nome do software vulnerável e versões afetadas**
Kernel do Linux (versões afetadas não especificadas)
**Descrição**
Existe uma condição de corrida no kernel do Linux em que uma transferência síncrona pode estar ativa durante a suspensão do sistema, causando uma exceção de desreferência de ponteiro nulo quando o sistema é retomado. Isso ocorre devido à seguinte sequência de eventos:
1. `spi sync()` chama ` spi transfer message noqueue()`, que define `ctlr->cur msg`.
2. A transferência SPI é iniciada por meio de `spi transfer one message()`.
3. O sistema é suspenso, interrompendo o contexto de transferência.
4. O sistema é retomado.
5. `spi controller resume()` chama `spi start queue()`, que redefine `cur msg` como NULL.
6. O contexto de transferência SPI é retomado e `spi finalize current message()` é chamado, o que desreferencia `cur msg` (agora NULL).
Para resolver esse problema, o kernel aguarda a conclusão das transferências síncronas antes de suspender, adquirindo o mutex do barramento e definindo/verificando um sinalizador de suspensão.
**Recomendações**
No momento, não há informações sobre uma versão mais recente que contenha uma correção para essa vulnerabilidade.