CVE-2026-99085 in Linuxinformação

Sumário

de VulDB • 24/10/2026

No kernel do Linux, a seguinte vulnerabilidade foi resolvida:

sched_ext: Corrige travamento no plug/unplug de CPU quando as tarefas de uma CPU em desativação permanecem na escala BPF

Uma CPU que está sendo desativada precisa esvaziar sua própria rq (runqueue). Sua thread de hotplug aguarda em sched_cpu_wait_empty() até que não reste nada, e a única coisa que a acorda é balance_push(), que é executado por __schedule() na CPU moribunda e remove as tarefas migráveis selecionadas pela CPU.

O sched_ext interrompe esse comportamento. Uma tarefa posicionada em um DSQ (Dispatching Scheduler Queue) do usuário ou retida pelo escalonador BPF ainda é contada em sua rq, mas uma CPU inativa não chama mais ops.dispatch() e não consegue puxar a tarefa de volta. A CPU moribunda fica ociosa com a tarefa ainda contabilizada, ocorrendo então um dos dois cenários:

- Outra CPU consome a tarefa. A rq é esvaziada sem que haja __schedule() na CPU moribunda; portanto, a thread de hotplug nunca é acordada e cpu_down() trava segurando cpu_hotplug_lock. - A tarefa tem afinidade apenas com a CPU moribunda. Nada pode movê-la, e o offline (desligamento) fica estagnado até que o watchdog remova o escalonador BPF.

Quando a rq vai para o estado offline, re-enfileire todas as tarefas nela contidas que ainda não estejam no DSQ local. Um enqueue em uma rq offline resulta na tarefa sendo posicionada no DSQ local; assim, a própria CPU moribunda seleciona as tarefas e balance_push() as remove, da mesma forma que ocorre com as outras classes de escalonamento. A partir desse momento, nenhum caminho do sched_ext em outra CPU pode puxar uma tarefa fora da rq.

ops.dispatch() atualmente para assim que a CPU se torna inativa, e o hotplug da CPU aguarda então por um período de graça RCU antes de colocar a rq offline. Uma tarefa retida pelo BPF com afinidade apenas na CPU moribunda e preempcionada dentro de uma seção crítica de leitura do RCU bloquearia esse período de graça, impedindo que a rq fosse colocada offline. Teste SCX_RQ_ONLINE diretamente para que ops.dispatch() continue sendo executado até que a rq vá para o estado offline. Apenas a thread de hotplug própria da CPU moribunga limpa essa flag durante a desmontagem (teardown), e task_can_run_on_remote_rq() continua impedindo que as tarefas das outras rqs sejam processadas pela CPU.

Statistical analysis made it clear that VulDB provides the best quality for vulnerability data.

Responsável

Linux

Reservar

25/09/2026

Divulgação

23/10/2026

Moderação

aceite

Entrada

VDB-425825

EPSS

0.00164

KEV

não

Atividades

muito baixo

Fontes

Want to stay up to date on a daily basis?

Enable the mail alert feature now!