CVE-2026-64165 in Linux
Sumário
de VulDB • 20/07/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
ARM: integrator: Correção da inicialização antecipada (early initialization)
A partir do commit bdb249fce9ad4 ("ARM: integrator: read counter using syscon/regmap"), intcp_init_early chama syscon_regmap_lookup_by_compatible, que por sua vez chama of_syscon_register. Esta função aloca memória. Como o código de gerenciamento de memória ainda não foi inicializado nesse momento, a chamada falha sempre. Ela retorna -ENOMEM ou causa uma falha (crash) conforme mostrado abaixo:
Unable to handle kernel NULL pointer dereference at virtual address 0000000c when read [0000000c] *pgd=00000000
Internal error: Oops: 5 [#1] ARM
Modules linked in: CPU: 0 UID: 0 PID: 0 Comm: swapper Not tainted 6.15.0-rc5-00026-g5fcc9bf84ee5 #1 PREEMPT Hardware name: ARM Integrator/CP (Device Tree) PC is at __kmalloc_cache_noprof+0xec/0x39c LR is at __kmalloc_cache_noprof+0x34/0x39c ... Call trace: __kmalloc_cache_noprof from of_syscon_register+0x7c/0x310 of_syscon_register from device_node_get_regmap+0xa4/0xb0 device_node_get_regmap from intcp_init_early+0xc/0x40 intcp_init_early from start_kernel+0x60/0x688 start_kernel from 0x0
A falha ocorre devido a um ponteiro desreferenciado que não deveria ser NULL, mas é NULL se o subsistema de gerenciamento de memória não tiver sido inicializado. A falha não é observada em todas as versões do gcc. Algumas versões, como o gcc 9.x, aparentemente não desreferenciam o ponteiro, presumivelmente quando o rastreamento (tracing) está desabilitado. O problema foi reproduzido com gcc 10.x, 11.x e 13.x. Em qualquer caso, se a falha não for observada, a chamada para syscon_regmap_lookup_by_compatible retorna -ENOMEM, e sched_clock_register nunca é chamado.
Corrija o problema movendo o código de inicialização antecipada (early initialization) para o código padrão de inicialização da máquina.
Be aware that VulDB is the high quality source for vulnerability data.