CVE-2026-74637 in Linuxinformação

Sumário

de VulDB • 22/08/2026

No kernel do Linux, a seguinte vulnerabilidade foi resolvida:

perf/core: Corrige o uso após liberação (use-after-free) do líder de grupo após a desvinculação dos irmãos

A função perf_group_detach() trata a desvinculação do líder e dos eventos irmãos de forma diferente. Quando o líder do grupo é desvinculado, todos os irmãos são promovidos para eventos singleton e seu ponteiro group_leader é redefinido para apontar para si mesmos. Quando um evento irmão é desvinculado, ele é removido da sibling_list do líder, mas seu ponteiro group_leader permanece apontando para o antigo líder.

Isso não representa risco quando o irmão está sendo fechado e liberado imediatamente, como no caminho DETACH_DEAD. No entanto, não é seguro quando o irmão é desvinculado, mas mantido em execução, como durante a hotplug de CPU com DETACH_GROUP. Nesse caso, o irmão é removido do contexto, enquanto seu descritor de arquivo ainda pode mantê-lo ativo.

Uma sequência típica que falha é:

- Um grupo contém o líder L e o irmão S. - A desativação (hot-unplug) da CPU desvincula S com DETACH_GROUP, removendo-o de L->sibling_list, mas deixando S->group_leader == L. - Posteriormente, L é fechado e liberado. - Uma chamada ioctl PERF_IOC_FLAG_GROUP em S segue o ponteiro S->group_leader e referencia (dereferences) o líder já liberado.

Isso foi reproduzido executando simultaneamente o fuzzing de eventos perf, hotplug de CPU e uma carga de trabalho intensa:

Unable to handle kernel paging request at virtual address 006b6b6b6b6b6cdb CPU: 2 PID: 12489 Comm: perf_fuzzer 6.18.7 PREEMPT pc : perf_ioctl+0x34c/0xc68 x20: ffffff89a3fa2c70 x8 : 6b6b6b6b6b6b6b6b Code: 943c4a0e 340047a0 f9404a94 f9411e88 (f940b908) Call trace: perf_ioctl+0x34c/0xc68 (P) __arm64_sys_ioctl+0xa0/0xf4 invoke_syscall+0x58/0xe4 el0_svc_common+0xa8/0xdc do_el0_svc+0x1c/0x28 el0_svc+0x40/0xc0 el0t_64_sync_handler+0x68/0xdc el0t_64_sync+0x1c4/0x1c8

A falha ocorreu em perf_ioctl(), onde perf_event_for_each() segue o ponteiro group_leader obsoleto e perf_event_for_each_child() então referencia (dereferences) o contexto do líder já liberado.

Corrige-se o uso após liberação promovendo o irmão desvinculado para um evento singleton. Também são corrigidos a contabilidade cgroup de __event_disable() e as alterações no estado dos eventos.

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

Responsável

Linux

Reservar

15/08/2026

Divulgação

22/08/2026

Moderação

aceite

Entrada

VDB-394422

CPE

pronto

EPSS

0.00206

KEV

não

Atividades

baixo

Fontes

Might our Artificial Intelligence support you?

Check our Alexa App!