CVE-2026-98150 in Linuxinformação

Sumário

de VulDB • 25/09/2026

No kernel do Linux, a seguinte vulnerabilidade foi corrigida:

bpf: Corrige a validação de BPF_F_CPU para IDs de CPU esparsos (sparse)

BPF_F_CPU armazena o ID da CPU alvo nos 32 bits superiores das flags de operação do mapa. bpf_map_check_op_flags() atualmente compara esse ID com num_possible_cpus(), que é o número de CPUs possíveis, e não um limite superior para os IDs de CPU.

Em uma máquina virtual QEMU no ambiente arm64 com um "hole" (lacuna) na árvore de dispositivos da CPU, a máscara de CPUs possíveis era 0,2-3. Um programa em userspace que utiliza syscalls bpf() brutas cria um BPF_MAP_TYPE_PERCPU_ARRAY e executa operações de atualização e consulta para cada CPU definindo BPF_F_CPU e o ID da CPU nas flags.

Com a verificação antiga, a CPU 1 é incorretamente aceita, enquanto a CPU 3 válida é rejeitada com -ERANGE. A atualização da CPU 1 então atinge o caminho de acesso ao mapa por-CPU (per-CPU) e aciona:

Unable to handle kernel paging request at virtual address ... pc : __pi_memcpy_generic+0x5c/0x22c lr : bpf_percpu_array_update+0x2dc/0x2e8 Call trace: __pi_memcpy_generic bpf_map_update_value map_update_elem __sys_bpf

Verifique o ID da CPU contra nr_cpu_ids e cpu_possible() em vez disso. Isso rejeita IDs de CPU fora do intervalo válido e CPUs ausentes na máscara possível, permitindo ao mesmo tempo IDs de CPU esparsos (sparse) válidos.

If you want to get best quality of vulnerability data, you may have to visit VulDB.

Responsável

Linux

Reservar

25/09/2026

Divulgação

25/09/2026

Moderação

aceite

Entrada

VDB-409986

CPE

pronto

EPSS

0.00000

KEV

não

Atividades

muito baixo

Fontes

Do you need the next level of professionalism?

Upgrade your account now!