Tous les produits
Search
Centre de documentation

:Portée et statut de correction de la vulnérabilité CVE-2024-57843 dans les images officielles ECS

Dernière mise à jour :Aug 24, 2026

La vulnérabilité CVE-2024-57843 est un dépassement de mémoire dans le pilote virtio-net du noyau Linux, susceptible de corrompre silencieusement la mémoire d'une instance en cours d'exécution. Cette rubrique décrit les images Linux officielles Alibaba Cloud ECS concernées, explique comment déterminer si une instance est affectée et indique comment corriger une instance vulnérable.

Présentation de la vulnérabilité

La vulnérabilité CVE-2024-57843 correspond à un défaut de dépassement de mémoire dans le pilote virtio-net du noyau Linux, qui survient lorsque le pilote remplit des tampons RX fusionnables. Ce défaut a été introduit par le commit amont 295525e29a5b (virtio_net: merge dma operations when filling mergeable buffers) et corrigé par le commit 6aacd1484468 (virtio-net: fix overflow inside virtnet_rq_alloc).

Red Hat évalue cette vulnérabilité comme étant de gravité modérée, tandis qu'Ubuntu la classe comme moyenne.

Symptômes

Une instance ECS affectée peut présenter les symptômes suivants :

  • Plantage inattendu de l'instance — L'instance plante sans avertissement (panique du noyau) et le journal dmesg contient des entrées liées à general protection fault ou à pagealloc: memory corruption.

  • Échec du transfert de fichiers volumineux — Un transfert de fichier d'environ 100 Mo ou plus via scp est interrompu.

  • Corruption silencieuse des structures de données du noyau — Les pages de table de pages, les objets slab, les structures buffer_head et d'autres données similaires sont écrasées de manière inattendue, ce qui entraîne un comportement système imprévisible.

Portée de l'impact

Le tableau suivant répertorie les images Linux officielles ECS évaluées pour la vulnérabilité CVE-2024-57843, indique pourquoi chaque distribution est concernée et présente le statut de correction des images ECS correspondantes.

Distribution Version affectée Cause Statut de correction des images ECS
Ubuntu 24,04 LTS Affectée dès la première version, car la base du noyau 6,8 inclut le correctif introduisant le défaut, qui a été rétroporté vers la version 6.6. Corrigée dans la version 6.8.0-58.60. Les images publiées en mai 2025 sont corrigées (6.8.0-60-generic).
CentOS Stream 9 9 Suit le flux amont de RHEL. Corrigée dans la version 5.14.0-570.12.1.el9_6. Les images corrigées publiées en mars 2025 sont sécurisées.
Fedora 40 (EOL) Introduite dans kernel-6.6.2-201.fc40. Corrigée dans la version 6.12.5-200. A atteint la fin de vie (EOL). Aucune mise à jour n'est prévue.

Vérifier si votre instance est affectée

La version du noyau en cours d'exécution détermine si une instance ECS contient le défaut. Exécutez la commande suivante sur l'instance pour obtenir la version du noyau actif :

uname -r

Comparez le résultat avec la version de correction indiquée pour votre distribution dans le tableau de portée d'impact :

  • Antérieure à la version de correction — L'instance est affectée. Mettez à jour le noyau et redémarrez l'instance.

  • Version de correction ou ultérieure — Le noyau en cours d'exécution intègre le correctif ; aucune action supplémentaire n'est requise.

Les conditions de déclenchement décrites dans la section relative à la cause racine déterminent si le défaut est activé au moment de l'exécution. Elles ne permettent pas de savoir si le noyau en cours d'exécution contient le défaut ; utilisez donc la version du noyau comme critère de décision.

Corriger une instance affectée

Pour toutes les distributions, la correction nécessite la mise à niveau des packages du noyau ainsi que le redémarrage de l'instance pour que le correctif prenne effet.

Important

Le redémarrage de l'instance interrompt tous les services qui y sont exécutés. Planifiez le redémarrage avant de mettre à jour le noyau.

Ubuntu 24.04 LTS

Mettez à niveau le noyau vers la version 6.8.0-58-generic (version du package 6.8.0-58.60) ou une version ultérieure.

  1. Vérifiez qu'une version de noyau éligible est disponible. Les commandes suivantes actualisent l'index des packages et listent les versions de linux-image-generic proposées par vos dépôts configurés.

    sudo apt update
    apt-cache madison linux-image-generic
  2. Mettez à niveau les packages du noyau.

    sudo apt install -y --only-upgrade linux-image-generic
  3. Redémarrez l'instance.

    sudo reboot
  4. Après le redémarrage, confirmez la version du noyau en cours d'exécution.

    uname -r

    Vérifiez que le résultat correspond à 6.8.0-58-generic ou à une version ultérieure.

Remarque

Ubuntu signale le même noyau sous la forme 6.8.0-58-generic dans la sortie de uname -r et sous la forme 6.8.0-58.60 dans les métadonnées du package. Le noyau 6.8.0-60-generic fourni dans les images ECS publiées en mai 2025 est postérieur à 6.8.0-58-generic et intègre donc le correctif.

CentOS Stream 9

Mettez à niveau le noyau vers la version kernel-5.14.0-570.12.1.el9_6 ou une version ultérieure.

  1. Mettez à niveau les packages du noyau.

    sudo dnf clean all && sudo dnf makecache
    sudo dnf -y update kernel
  2. Redémarrez l'instance.

    sudo reboot
  3. Après le redémarrage, confirmez la version du noyau en cours d'exécution.

    uname -r

    Vérifiez que le résultat correspond à 5.14.0-570.12.1.el9_6 ou à une version ultérieure.

Fedora 40 (EOL)

Fedora 40 a atteint sa fin de vie (EOL) et n'est plus maintenue ; aucune mise à jour n'est prévue pour les images officielles Fedora 40 d'ECS. Effectuez une mise à niveau vers Fedora 41 ou une version ultérieure.

Si vous continuez à utiliser Fedora 40, mettez à niveau le noyau vers la version 6.12.5-200 ou une version ultérieure.

  1. Mettez à niveau les packages du noyau.

    sudo dnf clean all && sudo dnf makecache
    sudo dnf -y update kernel
  2. Redémarrez l'instance.

    sudo reboot
  3. Après le redémarrage, confirmez la version du noyau en cours d'exécution.

    uname -r

    Vérifiez que le résultat correspond à 6.12.5-200 ou à une version ultérieure.

Atténuation temporaire

Aucune mesure d'atténuation temporaire n'est disponible pour la vulnérabilité CVE-2024-57843. Mettez à niveau vers une version du noyau qui intègre le correctif. La modification des conditions de déclenchement décrites dans la section relative à la cause racine ne remplace pas la mise à niveau du noyau.

Avertissement

Ne définissez pas net.core.high_order_alloc_disable=1 dans les environnements de production. Sur les versions du noyau contenant la vulnérabilité, ce paramètre augmente considérablement la probabilité que la vulnérabilité soit déclenchée. Les versions du noyau non affectées par la vulnérabilité ne sont pas impactées.

Cause racine

La vulnérabilité CVE-2024-57843 est un dépassement de 16 octets traversant les limites des pages, qui se produit lorsque le pilote virtio-net remplit des tampons RX fusionnables avec des données.

En mode DMA pré-mappé (do_dma=true), chaque page de fragment doit réserver 16 octets au début de la page pour stocker les informations de mappage. Lorsque toutes les conditions du tableau suivant sont réunies, le pilote alloue une page de 4 096 octets (ordre 0), mais doit écrire 16 + 4 096 = 4 112 octets. Les 16 derniers octets sont écrits dans la page physiquement adjacente suivante, ce qui corrompt silencieusement la mémoire.

N° Condition de déclenchement Description
1 Le mode DMA pré-mappé est actif 16 octets doivent être réservés au début de la page.
2 Les tampons RX fusionnables sont utilisés et XDP est désactivé Détermine le chemin de code qui calcule la longueur du tampon.
3 MTU >= 4084 et la moyenne exponentielle pondérée (EWMA) de la longueur des paquets de trafic > 4020 Sature len à 4096.
4 La page de fragment revient de l'ordre 3 à l'ordre 0 (pression mémoire transitoire) Une page d'ordre 3 (32 Ko) dispose d'un espace suffisant, mais une page d'ordre 0 (4 Ko) n'en a pas.

Empêcher les nouvelles instances d'être affectées

Lorsque vous créez une instance ECS, utilisez une image officielle qui intègre déjà le correctif.

Si les plantages persistent après la mise à niveau

Si des plantages similaires se produisent toujours après la mise à niveau du noyau, collectez le fichier vmcore et soumettez un ticket pour obtenir une assistance au dépannage.

Références