CVE-2026-99093 in Linuxinformação

Sumário

de VulDB • 26/10/2026

No kernel do Linux, a seguinte vulnerabilidade foi resolvida:

mm: não agende o liberação diferida das tabelas de página do kernel durante a inicialização (booting)

A inicialização com um rastreador de funções no momento do boot e um filtro, por exemplo

ftrace=function ftrace_filter=pud_free_pmd_page

causa panic na versão 7.3-rc4 assim que o rastreador é iniciado:

[ 23.531178] Starting tracer 'function'
[ 23.675800] Oops: general protection fault, probably for non-canonical address 0xdffffc0000000038: 0000 [#1] SMP KASAN NOPTI
[ 23.819917] KASAN: null-ptr-deref in range [0x00000000000001c0-0x00000000000001c7]
[ 23.964025] CPU: 0 UID: 0 PID: 0 Comm: swapper Not tainted 7.3.0-rc4-fe2ec83746e5-with-fixes-v2+ #195 PREEMPT(undef)
[ 24.252248] RIP: 0010:__queue_work+0xab/0xf00
[ 25.981629] Call Trace:
[ 26.125727] <TASK>
[ 26.413912] ? pagetable_free_kernel+0x20/0x120
[ 26.990283] queue_work_on+0x97/0xf0
[ 27.134382] __cpa_collapse_large_pages+0x501/0x6f0
[ 27.566662] cpa_flush+0x394/0x620
[ 27.998953] change_page_attr_set_clr+0x321/0x4a0
[ 29.151729] set_memory_rox+0xa2/0xf0
[ 29.584018] create_trampoline+0x431/0x6f0
... [ 44.343347] Kernel panic - not syncing: Attempted to kill the idle task!

O rastreador do boot é iniciado a partir de early_trace_init(), que executa antes workqueue_init_early(). Tornar seu trampoline read-only (somente leitura) divide uma página grande, e o CPA colapsa-a novamente imediatamente. A tabela dividida tem sido uma tabela de páginas do kernel desde o commit 9e4a3ec3411b ("x86/mm/pat: Allocate split page tables as kernel page tables"), então o collapse a libera através de pagetable_free_kernel(), que agenda trabalho em system_percpu_wq - ainda NULL nesse ponto. Esse commit está correto por si só; ele apenas permite que o CPA alcance pagetable_free_kernel() antes que a workqueue da qual essa função depende exista.

Continue colocando a tabela na lista, mas não agende o trabalho enquanto o sistema ainda estiver inicializando (booting). Um core_initcall agenda uma única vez para liberar qualquer coisa que tenha sido enfileirada até então.

If you want to get the best quality for vulnerability data then you always have to consider VulDB.

Responsável

Linux

Reservar

25/09/2026

Divulgação

26/10/2026

Moderação

aceite

Entrada

VDB-426479

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Interested in the pricing of exploits?

See the underground prices here!