CVE-2026-98385
sched/cache: Desacoplar sched_cache_group de mm para corrigir UAF
- Publicado
- 12 de out. de 2026
- Atualizado
- 24 de out. de 2026
- Atribuindo CNA
- Linux
- Evidência observada
- 4 de nov. de 2026
CVSS primário
nvd · CVSS 3.1
CVSS:3.1/AV:L/AC:L/PR:L/UI:N/S:U/C:H/I:H/A:HBaixo · próximos 30 dias
- Percentil
- 7,3%
- Data do modelo
- 4 de nov. de 2026
EPSS é uma estimativa estatística, não uma certeza ou uma medida de impacto. Combine-o com CVSS, status KEV, exposição e seu ambiente.
Resumo
No kernel Linux, a seguinte vulnerabilidade foi resolvida: sched/cache: Desacoplar sched_cache_group do mm para corrigir UAF Atualmente, o agrupamento de cache do sched é feito por mm e as estatísticas de agendamento sched_cache_stat residem na estrutura mm. Isso vincula o ciclo de vida das estatísticas de agendamento ao mm. Em account_mm_sched(), as estatísticas de agendamento são acessadas por task->mm->sc_stat. No entanto, uma tarefa pode estar trocando de mm em uma CPU enquanto outra CPU está executando account_mm_sched(), e possivelmente acessando o mm antigo que foi liberado. Este problema foi encontrado ao executar testes com KASAN por Hyunwoo: https://lore.kernel.org/lkml/apPb-Dr4nPYuHQOK@v4bel/ Em vez de serializar o acesso ao mm introduzindo aquisição extra do rq lock no caminho de liberação do mm, extrair sched_cache_stat de mm_struct, renomeá-lo como sched_cache_group e gerenciar seu ciclo de vida separadamente de mm_struct com sua própria contagem de referências. Isso nos permite, no próximo patch, acessar sched_cache_group diretamente a partir da tarefa, e adicionar uma contagem de referências em sched_cache_group quando uma tarefa se vincula a ele. Isso evita o problema de use after free ao acessar um mm antigo obsoleto e liberado e sua estatística de cache do sched quando uma tarefa muda para um novo mm enquanto account_mm_sched() é executado em outro lugar. O outro benefício desta reestruturação é que, no futuro, o agrupamento de tarefas em uma LLC terá a flexibilidade de ser associado a um agrupamento definido pelo usuário, ou cgroup, cookie group, numa_group ou outros, em vez de apenas a um único espaço de endereçamento mm. Renomear sched_cache_stat para sched_cache_group e transformá-lo em um objeto com contagem de referências alocado a partir de mm_struct. O mm_struct agora mantém um ponteiro (sched_cache_grp) para este objeto em vez de embuti-lo.
Fontes
Port ARM64 para Android do PoC oficial da CVE-2026-98385, uma escalada de privilégios local por condição de corrida no subsistema Scheduler do kernel, com constantes de layout de heap codificadas de forma fixa.
Uso responsável
Use informações de vulnerabilidade apenas em sistemas que você possui ou está autorizado a testar. O Kitploit vincula-se a metadados de pesquisa pública e não armazena código de exploração ou cargas maliciosas.