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

VetorAV: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 recente

Information Disclosure

Exposure of Resource to Wrong Sphere

Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾

Enumeração de Fraquezas

Identificadores relacionados

BDU:2024-01692
CVE-2021-46906
OESA-2024-1345
OESA-2024-1346
OPENSUSE-SU-2024_0857-1
SUSE-SU-2024:0856-1
SUSE-SU-2024:0857-1
SUSE-SU-2024:0925-1
SUSE-SU-2024:0926-1
SUSE-SU-2024:0975-1
SUSE-SU-2024:0976-1
USN-6976-1

Produtos afetados

Astra Linux
Linux Kernel
Suse
Ubuntu