PT-2021-7997 · Linux+3 · Linux Kernel+3
Publicado
2021-05-05
·
Atualizado
2025-12-10
·
CVE-2021-46906
CVSS v3.1
5.5
Média
| Vetor | AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:N |
Nome do software vulnerável e versões afetadas
Kernel do Linux (versões afetadas não especificadas)
Descrição
O problema está relacionado ao cálculo do tamanho do relatório na função
hid submit ctrl(), que não leva em conta a possibilidade de um relatório de tamanho zero. Quando um relatório de tamanho 0 é processado, hid submit ctrl() calcula transfer buffer length como 16384, levando a um vazamento de informações de 16384 bytes ao ser passado para a camada central do USB. Isso é relatado pelo KMSAN ao executar o reprodutor syzkaller. O número estimado de dispositivos potencialmente afetados em todo o mundo não está disponível. Não há informações sobre incidentes reais em que esse problema tenha sido explorado.Para corrigir isso,
hid report len() precisa ser modificada para levar em conta o caso de tamanho de relatório zero usando DIV ROUND UP para a divisão e, em seguida, chamada a partir de hid submit ctrl(). A função hid submit ctrl() está vulnerável devido ao cálculo incorreto do comprimento do relatório, especificamente quando report->size é zero. A variável transfer buffer length é calculada incorretamente, levando ao vazamento de informações.Recomendações
Para resolver o problema, modifique
hid report len() para levar em conta o caso de tamanho de relatório zero usando DIV ROUND UP para a divisão. Em seguida, chame hid report len() a partir de hid submit ctrl(). Como solução temporária, considere restringir o uso da função hid submit ctrl() até que um patch esteja disponível. No momento, não há informações sobre uma versão mais recenteInformation Disclosure
Exposure of Resource to Wrong Sphere
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Astra Linux
Linux Kernel
Suse
Ubuntu