CVE Intelligence
Desconhecida

CVE-2026-89966 — mm/hugetlb_cma: fix null nodemask dereference in hugetlb_cma_alloc_frozen_folio

In the Linux kernel, the following vulnerability has been resolved: mm/hugetlb_cma: fix null nodemask dereference in hugetlb_cma_alloc_frozen_folio alloc_buddy_hugetlb_folio_with_mpol() can pass a NULL nodemask to alloc_fresh_hugetlb_folio() as a fallback to allocate from all nodes. If order is gigantic, alloc_fresh_hugetlb_folio() propagates the NULL nodemask down to hugetlb_cma_alloc_frozen_folio() via alloc_gigantic_frozen_folio(). Additionally, hugetlb_cma_alloc_frozen_folio() previously attempted allocation on hugetlb_cma[nid] without verifying if nid is included in the caller's nodemask. Adding a node_isset(nid, *nodemask) check ensures the initial preferred node allocation honors the memory policy / nodemask. However, hugetlb_cma_alloc_frozen_folio() dereferences the nodemask in node_isset(nid, *nodemask) and for_each_node_mask(node, *nodemask), leading to a null pointer dereference kernel panic when nodemask is NULL. Fix this by checking if nodemask is NULL in hugetlb_cma_alloc_frozen_folio() and defaulting it to cpuset_current_mems_allowed. Enclose the allocation attempts within the cpuset seqcount retry loop so that if the cpuset changes concurrently during allocation, the attempts are retried using the updated nodemask. This ensures that the initial node check and fallback loop safely honor the task's cpuset without violating cpuset constraints or causing NULL pointer dereferences or unexpected allocation failures. From a userspace perspective, this bug allows an unprivileged user to crash the kernel (trigger a panic) by requesting a gigantic hugepage allocation with MPOL_PREFERRED_MANY on a system where CMA is only configured on a subset of NUMA nodes. This can be reproduced by booting a VM with two NUMA nodes, restricting CMA to Node 1 (e.g., hugetlb_cma=1:1G default_hugepagesz=1G hugepagesz=1G hugepages=0), and running a program that allocates a 1GB hugepage area without reserving, restricts allocation to Node 0 using mbind() with MPOL_PREFERRED_MANY, and triggers a page fault: void *ptr = mmap(NULL, 1UL << 30, PROT_READ | PROT_WRITE, MAP_PRIVATE | MAP_ANONYMOUS | MAP_HUGETLB | MAP_HUGE_1GB | MAP_NORESERVE, -1, 0); unsigned long nodemask = 1; /* Node 0 */ mbind(ptr, 1UL << 30, MPOL_PREFERRED_MANY, &nodemask, sizeof(nodemask) * 8, 0); memset(ptr, 0, 1UL << 30); /* Trigger fault */ This results in a NULL pointer dereference: BUG: kernel NULL pointer dereference, address: 0000000000000000 #PF: supervisor read access in kernel mode #PF: error_code(0x0000) - not-present page Oops: Oops: 0000 [#1] SMP NOPTI RIP: 0010:hugetlb_cma_alloc_frozen_folio+0x75/0x120 Call Trace: <TASK> only_alloc_fresh_hugetlb_folio.isra.0+0x2c/0x160 alloc_surplus_hugetlb_folio+0x6d/0x100 alloc_hugetlb_folio+0x3c5/0x660 hugetlb_no_page+0x3d9/0x650

Descrição oficial em inglês (tradução ainda não revisada).

Publicada em 16/09/2026 · Atualizada em 19/10/2026 · Fontes: NIST National Vulnerability Database, CVE Program (cve.org) e CISA ADP, GitHub Security Advisories · CNA: Linux

Quem explora e qual a prioridade

Nota de 0 a 100 que combina exploração confirmada, uso por ransomware e grupos APT, exploits públicos, EPSS e severidade.

Nenhum sinal de exploração nas fontes consultadas até agora.
Como a nota foi calculada
  • EPSS 0.2% (probabilidade de exploração em 30 dias)+1

A nota ordena a fila de correção; não substitui o contexto dos seus ativos (exposição à internet, criticidade, compensações).

Triagem

Está sendo explorada, qual a probabilidade de exploração, o que afeta e qual a severidade segundo as fontes.

Exploração
Não confirmada
Fora da CISA KEV — ausência de registro, não prova de que não é explorada.
EPSS FIRST
0,2%
à frente de 9% das CVEs pontuadas · 19/10/2026
Afeta
Linux
Linux
CVSS base
—
Pontuação ainda não publicada.

Remediação

Correções e mitigações documentadas pelas fontes — com link para o aviso original.

Nenhuma correção documentada pelas fontes consultadas. Isso não significa que não exista: verifique o aviso do fabricante.

Primeiras 24 horas

Ordenado a partir dos próprios campos do registro — exposição primeiro, porque não se corrige o que não se encontrou. Ponto de partida, gerado por regras.

  1. Identifique ativos expostos que executam as combinações de fabricante/produto/versão afetadas (Linux Linux).
  2. Nenhuma correção documentada nas fontes: reduza a exposição e monitore o aviso do fabricante.
  3. Procure nos logs disponíveis sinais de tentativa de exploração, erros e anomalias de autenticação.

Escopo afetado

Fabricante, produto e versões como as fontes os descrevem.

FabricanteProdutoVersõesStatusFonte
Linux Linux ≥ eb02f14c4a2bf4c242d91c4a5d7fb57c3c0ad1b1 e < 10f616ef06c5bd2d656a0eebaf73f9b09d150c24≥ eb02f14c4a2bf4c242d91c4a5d7fb57c3c0ad1b1 e < 7b8a8ae4dd176a232e973017d2aa3c536a7275e2versão 6.19 Vulnerável CVE Program (cve.org) e CISA ADP

EPSS ao longo do tempo FIRST

15/10/2026 → 19/10/2026 · 4 leitura(s) · máximo 0.20%

Detecção

Derivado do vetor CVSS e da classe da fraqueza. Pontos de partida, não regras testadas.

  • Sem vetor ou classe de fraqueza suficientes: use os logs da aplicação afetada como ponto de partida.
logs da aplicação

Linha do tempo

O que aconteceu com esta CVE, do mais recente ao mais antigo.

  • 2026
  • Ficha publicada
    15/10/2026
  • Produtos afetados adicionados · linux/linux
    15/10/2026 · CVE Program (cve.org) e CISA ADP
  • Status na fonte alterado · → Received
    15/10/2026 · NIST National Vulnerability Database
  • Registro criado nesta base
    15/10/2026 · NIST National Vulnerability Database
  • CVE publicada
    16/09/2026 · Linux

Atividade das fontes

Leituras que se repetem foram contadas em vez de listadas.

  • 1× Referências adicionadas · 19/10/2026 – 19/10/2026
  • 1× Descrição oficial atualizada · 15/10/2026 – 15/10/2026

Referências

4 no registro

Em outras páginas do site

Linux
todas as CVEs deste fabricante

CVEs relacionadas (mesmos produtos)

  • Desconhecida CVE-2026-98866 sched/cache: Introduce task_struct->sched_cache_grp to fix UAF 1 d
  • Desconhecida CVE-2026-98867 dm-pcache: bound the logical key offset from persistent memory 1 d
  • Desconhecida CVE-2026-98868 dm-pcache: reject a kset that overruns its segment 1 d
  • Desconhecida CVE-2026-98856 kprobes: Skip disarmed probes when checking optkprobe overlap 1 d
  • Desconhecida CVE-2026-98857 ipvs: bound LBLCR and LBLC cache growth 1 d
  • Desconhecida CVE-2026-98858 io_uring: fix task_work add use-after-free with SQPOLL 1 d

Não consta em nenhuma fonte consultada

Listado em vez de deixado em branco: um campo vazio e um não medido parecem iguais na tela, e só um deles é motivo para procurar em outro lugar.

  • Nenhuma pontuação CVSS publicada por NVD, CNA, CISA ou GitHub até agora.
  • Nenhuma versão corrigida, patch ou mitigação documentada.
  • Sem avaliação SSVC da CISA.
  • Sem classificação CWE.
  • Nenhum IOC confirmado (IPs, domínios, hashes ou artefatos de malware) fornecido.
  • Nenhum inventário de ativos, controle compensatório ou evidência de implantação de patch da sua organização.
  • Nenhuma captura de tráfego de exploração, amostra de log ou caso de incidente.

Respondido a partir deste registro

Texto montado apenas com os campos acima — sem afirmações adicionais.

O que os defensores devem saber primeiro?

CVE-2026-89966 é "mm/hugetlb_cma: fix null nodemask dereference in hugetlb_cma_alloc_frozen_folio", de severidade Desconhecida. Afeta Linux (Linux); as versões estão na tabela de escopo. Não está na CISA KEV, o que não exclui exploração. EPSS 0.20% estima a probabilidade de exploração em 30 dias; nenhum dos dois substitui o contexto dos seus ativos. Verifique primeiro se ativos expostos ou críticos executam as versões afetadas, aplique as correções ou mitigações do fabricante e preserve logs para análise.

Comentários

Discussão técnica moderada. Leia as regras da comunidade.

Nenhum comentário ainda.

Entre ou crie uma conta para comentar e sugerir correções.