PT-2024-11472
CVE-2021-47497
·
Publicado
2021-10-13
·
Atualizado
2026-10-21
Descrição por
CVSS 3.1
7.8
AltaMétricasAV:L/AC:L/PR:L/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 à 5.15.0-rc3+
Descrição
O problema ocorre quando uma célula tem ‘nbits’ igual a um múltiplo de BITS PER BYTE. A lógica
*p &= GENMASK((cell->nbits%BITS PER BYTE) - 1, 0) torna-se um comportamento indefinido porque nbits módulo BITS PER BYTE é 0, e subtrair um desse valor resulta em um número grande que é então deslocado mais do que o número de bits que cabem em um unsigned long. O UBSAN relata esse problema como um deslocamento fora dos limites em drivers/nvmem/core.c.Recomendações
Para resolver o problema, atualize o kernel do Linux para uma versão que inclua a correção para a vulnerabilidade de deslocamento fora dos limites.
Para versões do kernel Linux anteriores à 5.15.0-rc3+, considere aplicar o patch que corrige o problema de deslocamento fora dos limites no subsistema nvmem.
Como solução alternativa temporária, considere desativar a função
nvmem cell read até que um patch esteja disponível.Explorabilidade
Correção
Impactos
Fornecedores
Produtos afetados
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾