PT-2024-11472 · Linux+6 · Linux Kernel+6
Stephen Boyd
·
Publicado
2021-10-13
·
Atualizado
2025-01-21
·
CVE-2021-47497
CVSS v3.1
7.8
Alta
| Vetor | AV: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.Correção
Out of bounds Read
Memory Corruption
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Almalinux
Astra Linux
Centos
Linux Kernel
Red Hat
Rocky Linux
Suse