Todos os produtos
Search
Central de documentação

:Escopo de impacto e status de correção do CVE-2024-57843 em imagens oficiais do ECS

Última atualização: Aug 24, 2026

O CVE-2024-57843 é uma falha de estouro de memória no driver virtio-net do kernel Linux capaz de corromper silenciosamente a memória de uma instância em execução. Este tópico descreve quais imagens oficiais Linux do Alibaba Cloud ECS são afetadas, como verificar se uma instância está vulnerável e como corrigir o problema.

Visão geral da vulnerabilidade

O CVE-2024-57843 consiste em um defeito de estouro de memória no driver virtio-net do kernel Linux. Ele ocorre quando o driver preenche buffers RX mescláveis. O commit upstream 295525e29a5b introduziu o defeito (virtio_net: merge dma operations when filling mergeable buffers), e o commit 6aacd1484468 o corrigiu (virtio-net: fix overflow inside virtnet_rq_alloc).

A Red Hat classifica esta vulnerabilidade como Moderada; a Ubuntu, como Média.

Sintomas

Uma instância ECS afetada pode apresentar os seguintes sintomas:

  • Falha inesperada da instância — A instância trava sem aviso prévio (kernel panic) e o log dmesg contém entradas relacionadas a general protection fault ou pagealloc: memory corruption.

  • Falha na transferência de arquivos grandes — A transferência de um arquivo com cerca de 100 MB ou mais via scp é interrompida.

  • Corrupção silenciosa de estruturas de dados do kernel — Páginas de tabela de páginas, objetos slab, estruturas buffer_head e dados similares são sobrescritos inesperadamente, causando comportamento imprevisível do sistema.

Escopo afetado

A tabela a seguir lista as imagens oficiais Linux do ECS avaliadas para o CVE-2024-57843, o motivo pelo qual cada distribuição é afetada e o status de correção das imagens ECS correspondentes.

Distribuição

Versão afetada

Causa

Status de correção das imagens ECS

Ubuntu

24.04 LTS

Afetada desde o primeiro lançamento, pois a base do kernel 6.8 inclui o patch que introduziu o defeito, retroportado para a versão 6.6. Corrigido na versão 6.8.0-58.60.

As imagens lançadas em maio de 2025 estão corrigidas (6.8.0-60-generic).

CentOS Stream 9

9

Segue o upstream do RHEL. Corrigido na versão 5.14.0-570.12.1.el9_6.

As imagens corrigidas lançadas em março de 2025 incluem a correção.

Fedora

40 (EOL)

Introduzido na versão kernel-6.6.2-201.fc40. Corrigido na versão 6.12.5-200.

Atingiu o fim do suporte (EOL). Nenhuma atualização está planejada.

Verifique se sua instância está afetada

A versão do kernel em execução determina se uma instância ECS contém o defeito. Execute o seguinte comando na instância para obter a versão atual do kernel:

uname -r

Compare a saída com a versão de correção listada para sua distribuição na tabela de escopo afetado:

  • Anterior à versão de correção — A instância está afetada. Atualize o kernel e reinicie a instância.

  • Igual ou posterior à versão de correção — O kernel em execução já contém a correção; nenhuma ação adicional é necessária.

As condições de gatilho descritas na seção de causa raiz determinam se o defeito é acionado durante a execução, mas não indicam se o kernel em execução contém o defeito. Portanto, utilize a versão do kernel como critério de decisão.

Corrija uma instância afetada

Para todas as distribuições, a correção exige a atualização dos pacotes do kernel e a reinicialização da instância para que a solução entre em vigor.

Importante

Reiniciar a instância interrompe todos os service em execução nela. Planeje a reinicialização antes de atualizar o kernel.

Ubuntu 24.04 LTS

Atualize o kernel para a versão 6.8.0-58-generic (versão do pacote 6.8.0-58.60) ou superior.

  1. Confirme se há uma versão qualificada do kernel disponível. Os comandos abaixo atualizam o índice de pacotes e listam as versões do linux-image-generic oferecidas pelos repositórios configurados.

    sudo apt update
    apt-cache madison linux-image-generic
  2. Atualize os pacotes do kernel.

    sudo apt install -y --only-upgrade linux-image-generic
  3. Reinicie a instância.

    sudo reboot
  4. Após a reinicialização, confirme a versão do kernel em execução.

    uname -r

    Verifique se a saída é 6.8.0-58-generic ou superior.

Nota

O Ubuntu reporta o mesmo kernel como 6.8.0-58-generic na saída do comando uname -r e como 6.8.0-58.60 nos metadados do pacote. O kernel 6.8.0-60-generic incluído nas imagens ECS lançadas em maio de 2025 é posterior ao 6.8.0-58-generic e, portanto, contém a correção.

CentOS Stream 9

Atualize o kernel para a versão kernel-5.14.0-570.12.1.el9_6 ou superior.

  1. Atualize os pacotes do kernel.

    sudo dnf clean all && sudo dnf makecache
    sudo dnf -y update kernel
  2. Reinicie a instância.

    sudo reboot
  3. Após a reinicialização, confirme a versão do kernel em execução.

    uname -r

    Verifique se a saída é 5.14.0-570.12.1.el9_6 ou superior.

Fedora 40 (EOL)

O Fedora 40 atingiu o fim do suporte (EOL) e não recebe mais manutenção. Não há atualizações planejadas para as imagens oficiais Fedora 40 do ECS. Migre para o Fedora 41 ou superior.

Caso continue executando o Fedora 40, atualize o kernel para a versão 6.12.5-200 ou superior.

  1. Atualize os pacotes do kernel.

    sudo dnf clean all && sudo dnf makecache
    sudo dnf -y update kernel
  2. Reinicie a instância.

    sudo reboot
  3. Após a reinicialização, confirme a versão do kernel em execução.

    uname -r

    Verifique se a saída é 6.12.5-200 ou superior.

Mitigação temporária

Não existe mitigação temporária disponível para o CVE-2024-57843. Atualize para uma versão do kernel que contenha a correção. Alterar qualquer uma das condições de gatilho descritas na seção de causa raiz não substitui a atualização do kernel.

Aviso

Não defina net.core.high_order_alloc_disable=1 em ambientes de produção. Em versões do kernel que contêm a vulnerabilidade, esse parâmetro aumenta significativamente a probabilidade de o defeito ser acionado. Versões do kernel sem a vulnerabilidade não são afetadas.

Causa raiz

O CVE-2024-57843 é um estouro de 16 bytes entre páginas que ocorre quando o driver virtio-net preenche buffers RX mescláveis com dados.

No modo DMA pré-mapeado (do_dma=true), cada página de fragmento deve reservar 16 bytes no início para armazenar informações de mapeamento. Quando todas as condições da tabela a seguir são atendidas, o driver aloca uma página de 4096 bytes (ordem 0), mas precisa gravar 16 + 4096 = 4112 bytes. Os últimos 16 bytes são gravados na próxima página fisicamente adjacente, o que corrompe silenciosamente a memória.

Nº

Condição de gatilho

Descrição

1

DMA pré-mapeado ativo

É necessário reservar 16 bytes no início da página.

2

Buffers RX mescláveis em uso e XDP desabilitado

Determina o caminho de código que calcula o comprimento do buffer.

3

MTU >= 4084 e EWMA do comprimento do pacote de tráfego > 4020

Satura o comprimento (len) para 4096.

4

Reversão da página de fragmento da ordem 3 para a ordem 0 (pressão transitória de memória)

Uma página de ordem 3 (32 KB) tem espaço suficiente, mas uma página de ordem 0 (4 KB) não.

Evite que novas instâncias sejam afetadas

Ao criar uma instância ECS, utilize uma imagem oficial que já contenha a correção.

Se as falhas persistirem após a atualização

Caso falhas semelhantes continuem ocorrendo após a atualização do kernel, colete o arquivo vmcore e envie um ticket para obter assistência na solução de problemas.

Referências