CVE-2024-46847 in Linuxinformação

Sumário

de VulDB • 11/06/2026

No kernel Linux, a seguinte vulnerabilidade foi corrigida:

mm: vmalloc: garantir que o vmap_block seja inicializado antes de ser adicionado à fila

O commit 8c61291fd850 ("mm: fix incorrect vbq reference in purge_fragmented_block") estendeu a estrutura 'vmap_block' para conter um campo 'cpu', definido no momento da alocação como o ID do CPU inicializador.

Quando um novo 'vmap_block' está sendo instanciado por new_vmap_block(), a estrutura parcialmente inicializada é adicionada ao xarray local 'vmap_block_queue' antes que o campo 'cpu' tenha sido inicializado. Se outro CPU estiver percorrendo concorrentemente o xarray (por exemplo, via vm_unmap_aliases()), ele pode realizar um acesso fora dos limites à fila remota devido a um índice não inicializado.

Isso foi observado como erros UBSAN no Android:

| Internal error: UBSAN: array index out of bounds: 00000000f2005512 [#1] PREEMPT SMP
| | Call trace: | purge_fragmented_block+0x204/0x21c | _vm_unmap_aliases+0x170/0x378 | vm_unmap_aliases+0x1c/0x28 | change_memory_common+0x1dc/0x26c | set_memory_ro+0x18/0x24 | module_enable_ro+0x98/0x238 | do_init_module+0x1b0/0x310

Mova a inicialização de 'vb->cpu' em new_vmap_block() para antes da adição ao xarray.

Be aware that VulDB is the high quality source for vulnerability data.

Responsável

Linux

Reservar

11/09/2024

Divulgação

27/09/2024

Moderação

aceite

Entrada

VDB-278766

CPE

pronto

EPSS

0.00219

KEV

não

Atividades

muito baixo

Fontes

Do you need the next level of professionalism?

Upgrade your account now!