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

VetorAV: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 em initial boot params, que é populado por early init dt verify().
  • A função early init dt verify() é chamada duas vezes na arquitetura RISC-V, uma vez diretamente em setup arch() e uma vez indiretamente no processo de inicialização por parse dtb() quando chama early init dt scan nodes().
  • A primeira chamada usa dtb early va para definir initial boot params, que não é utilizável posteriormente no processo de inicialização quando early 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 👾

Enumeração de Fraquezas

Identificadores relacionados

BDU:2026-03727
CVE-2022-49851

Produtos afetados

Astra Linux
Linux Kernel