Linux · Linux Kernel · CVE-2024-26688
**Nome do software vulnerável e versões afetadas**
Versões do kernel Linux anteriores à 6.8.0-rc2-default+
**Descrição**
A vulnerabilidade está relacionada a uma desreferência de ponteiro NULL na função hugetlbfs fill super() ao configurar um sistema de arquivos hugetlb por meio da chamada de sistema fsconfig(). Isso ocorre quando o tamanho de página solicitado é inválido, fazendo com que ctx->hstate seja substituído por NULL. Posteriormente, ao desreferenciar ctx->hstate em hugetlbfs fill super(), ocorre uma desreferência de ponteiro NULL, levando a uma falha do kernel.
O problema surge a partir das seguintes etapas:
1. Abrir um sistema de arquivos hugetlbfs usando fsopen().
2. Definir o tamanho da página usando fsconfig() com um valor inválido.
3. Criar o sistema de arquivos usando fsconfig() com FSCONFIG CMD CREATE.
Os detalhes técnicos sobre a exploração incluem:
- **Pontos de extremidade da API:** A vulnerabilidade é explorada por meio da chamada de sistema `fsconfig()`, especificamente ao definir o parâmetro `pagesize`.
- **Parâmetros ou variáveis vulneráveis:** A variável `ctx->hstate` é vulnerável, pois é substituída por NULL quando um tamanho de página inválido é solicitado.
- **Nomes de funções:** As funções `hugetlbfs fill super()` e `hugetlbfs parse param()` estão envolvidas na vulnerabilidade.
**Recomendações**
Para resolver o problema, atualize o kernel do Linux para uma versão que inclua a correção para a desreferência do ponteiro NULL em `hugetlbfs fill super()`. Como solução alternativa temporária, considere restringir o uso do sistema de arquivos hugetlbfs ou validar o parâmetro `pagesize`.