PT-2024-14771 · Linux+4 · Linux Kernel+4
Syzbot
·
Publicado
2023-08-08
·
Atualizado
2025-02-03
·
CVE-2023-52886
CVSS v3.1
6.4
Média
| Vetor | AV:P/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:H |
Nome do software vulnerável e versões afetadas
Versões do kernel Linux anteriores à 6.4.0-rc6-syzkaller-00195-g40f71e7cd3c6
Descrição
Existe uma condição de corrida entre as funções
read descriptors() e hub port init() no núcleo USB do kernel Linux. A função read descriptors() utiliza um campo em udev->descriptor sem esperar que ele seja alterado, enquanto a função hub port init() sobrescreve esse campo. Essa condição de corrida foi exposta após a remoção do bloqueio de dispositivo de read descriptors(). O problema pode ser resolvido modificando-se hub port init() para aceitar um argumento adicional que especifique um buffer para armazenar o descritor do dispositivo, eliminando assim a corrida de dados responsável pela leitura fora dos limites.Recomendações
Para resolver este problema, atualize o kernel do Linux para uma versão que inclua a correção para a condição de corrida entre
read descriptors() e hub port init(). Especificamente, certifique-se de que a função hub port init() tenha sido modificada para receber um argumento adicional para armazenar o descritor do dispositivo, evitando assim a sobrescrita de udev->descriptor e eliminando a corrida de dados.Exploit
Correção
Out of bounds Read
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Enumeração de Fraquezas
Identificadores relacionados
Produtos afetados
Alt Linux
Astra Linux
Linux Kernel
Red Os
Suse