PT-2025-18568 · Linux+1 · Linux Kernel+1
CVE-2022-49851
·
Publicado
2022-11-10
·
Atualizado
2025-05-02
CVSS v3.1
7.1
Alta
| Vetor | AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:N/A:H |
Nome do Software Vulnerável e Versões Afetadas
Versões do kernel do Linux anteriores a 6.0.0-rc1-00001-g0d9d6953d834
Descrição
Uma vulnerabilidade no kernel do Linux foi resolvida, especificamente na arquitetura RISC-V. O problema surge da configuração de memória reservada usando a cópia "early" da device tree, o que causa um pânico do kernel ao tentar usar o nome do buffer. Isso ocorre porque o ponteiro para regiões de memória reservada usa o endereço "early", pré-memória virtual. A vulnerabilidade é acionada quando a função
of reserved mem lookup() é chamada, e a função vsnprintf() é usada com o endereço incorreto. O número estimado de dispositivos potencialmente afetados não foi fornecido.Detalhes técnicos sobre a exploração incluem:
- A função
early init fdt scan reserved mem()não recebe argumentos, pois opera eminitial boot params, que é populado porearly init dt verify(). - A função
early init dt verify()é chamada duas vezes na arquitetura RISC-V, uma vez diretamente emsetup arch()e uma vez indiretamente no processo de inicialização porparse dtb()quando chamaearly init dt scan nodes(). - A primeira chamada usa
dtb early vapara definirinitial boot params, que não é utilizável posteriormente no processo de inicialização quandoearly init fdt scan reserved mem()é chamada. - A função
vsnprintf()é usada com o endereço incorreto, causando o pânico do kernel.
Recomendações
Para resolver o problema, mova a função
early init fdt scan reserved mem() para mais adiante na sequência de inicialização, após a chamada direta para early init dt verify() em setup arch(), para que os nomes usem os endereços de memória virtual corretos. Isso deve funcionar igualmente nos casos em que CONFIG BUILTIN DTB está definido ou não, pois unflatted and copy device tree() também atualiza initial boot params.Exploit
Correção
Out of bounds Read
Buffer Overflow
Encontrou algum problema na descrição? Tem algo a acrescentar? Fique à vontade para nos escrever 👾
Identificadores relacionados
Produtos afetados
Astra Linux
Linux Kernel