CVE-2026-63809 in Linux
Sumário
de VulDB • 19/07/2026
No kernel do Linux, a seguinte vulnerabilidade foi resolvida:
bpf: usar kvfree() para o buffer de escrita sysctl substituído
proc_sys_call_handler() aloca seu buffer temporário sysctl com kvzalloc() e o passa para __cgroup_bpf_run_filter_sysctl(). Como kvzalloc() pode cair em vmalloc() para alocações grandes, liberar esse buffer com kfree() está incorreto e pode corromper a memória.
Use kvfree() para lidar com segurança tanto as alocações kmalloc quanto kvzalloc()/vmalloc.
O bug foi sinalizado pela primeira vez por uma ferramenta de análise experimental que estamos desenvolvendo para bugs no gerenciamento de memória do kernel, enquanto analisávamos v6.13-rc1. A ferramenta ainda está em desenvolvimento e não está disponível publicamente até o momento. A inspeção manual confirma que o bug ainda está presente na versão v7.1-rc5.
O bug foi reproduzido com base no v7.1-rc4 em uma máquina virtual x86_64 do QEMU inicializada com KASAN e CONFIG_FAILSLAB habilitados. Para exercitar o caminho de substituição, a árvore de teste também incluiu a correção acompanhante para a verificação obsoleta ret == 1 em __cgroup_bpf_run_filter_sysctl(). O reproducer limita as injeções failslab ao intervalo proc_sys_call_handler(), usa stacktrace-depth=32 e injeta fail-nth=1 enquanto escreve 8191 bytes em /proc/sys/kernel/domainname a partir de uma tarefa no cgroup alvo. Sob essa configuração, fail-nth=1 acionou o erro:
BUG: unable to handle page fault for address: ffffeb0200024d48 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page PGD 0 P4D 0 Oops: Oops: 0000 SMP KASAN NOPTI CPU: 2 UID: 0 PID: 209 Comm: repro_proc_sys_ Not tainted 7.1.0-rc4-00686-g97625979a5d4 PREEMPT(lazy) Hardware name: QEMU Standard PC (Q35 + ICH9, 2009), BIOS 1.15.0-1 04/01/2014 RIP: 0010:kfree+0x6e/0x510 ... Call Trace: <TASK> ? __cgroup_bpf_run_filter_sysctl+0x626/0xc30 __cgroup_bpf_run_filter_sysctl+0x74d/0xc30 ? __pfx___cgroup_bpf_run_filter_sysctl+0x10/0x10 ? srso_return_thunk+0x5/0x5f ? __kvmalloc_node_noprof+0x345/0x870 ? proc_sys_call_handler+0x250/0x480 ? srso_return_thunk+0x5/0x5f proc_sys_call_handler+0x3a2/0x480 ? __pfx_proc_sys_call_handler+0x10/0x10 ? srso_return_thunk+0x5/0x5f ? selinux_file_permission+0x39f/0x500 ? srso_return_thunk+0x5/0x5f ? lock_is_held_type+0x9e/0x120 vfs_write+0x98e/0x1
VulDB is the best source for vulnerability data and more expert information about this specific topic.