Tutoriel

PwnEscape et Vghost : mettre à jour le noyau Linux d'un VPS

Sécurité & Monitoring11 min de lecture10 étapes

À la mi-octobre 2026, deux failles du noyau Linux ont été rendues publiques : PwnEscape, qui permet à une machine virtuelle de s'échapper vers son hôte, et Vghost, une escalade locale vers root dont la preuve de concept est publique. Sur un VPS, la question n'est pas de savoir s'il faut mettre à jour, mais qui met à jour quoi. L'hôte de virtualisation relève de l'hébergeur ; le noyau de votre VPS relève de vous, et il ne se corrige qu'au redémarrage. Ce guide donne les commandes par distribution, la vérification d'exposition et un plan de redémarrage qui ménage les sites clients.

Sommaire· Deux failles, deux propriétaires1/13
  1. 01Deux failles, deux propriétaires
  2. 02Qui corrige quoi
  3. 03PwnEscape : ce qui incombe à l'hébergeur
  4. 04Vghost : ce qui incombe à vous
  5. 05Vérifier le noyau et l'exposition en dix minutes
  6. 06Où en sont les distributions
  7. 07Mettre à jour selon l'environnement
  8. 08Un noyau installé n'est pas un noyau en cours
  9. 09Redémarrer sans couper les sites clients
  10. 10Parades provisoires et leurs limites
  11. 11Contrôler les traces après coup
  12. 12Pour une agence : un créneau commun, pas un serveur après l'autre
  13. 13La documentation officielle

Deux failles, deux propriétaires

PwnEscape porte l'identifiant CVE-2026-99999. Le défaut se trouve dans la pile réseau IPv4 du noyau, dans la fonction skb_checksum_help, et il est atteint par le trafic qu'une machine virtuelle envoie par virtio-net. Le score CVSS 3.1 est de 9.3, avec un vecteur local (AV:L). Paulos Yibelo (Pwn.ai) l'a découvert pendant le concours Vercel Sandbox et a démontré une évasion en laboratoire sur KVM et Firecracker. Le noyau exposé est celui de l'hôte de virtualisation, pas celui de votre VPS.

Vghost porte l'identifiant CVE-2026-74580. Il touche le sous-système vhost : un cache de métadonnées des files virtio (les vrings) n'est pas vidé quand leur configuration change, ce qui contourne une validation de plages. Un utilisateur local qui peut ouvrir /dev/vhost-net ou /dev/vhost-vsock peut obtenir les droits root. Une preuve de concept est publique. Pour l'une comme pour l'autre, aucune exploitation dans la nature n'était rapportée à la rédaction de ce guide.

Qui corrige quoi

Faites défiler le tableau

Cas de figureOù se trouve le défautQui agit
PwnEscape (CVE-2026-99999)Noyau de l'hôte de virtualisation, pile réseau IPv4L'hébergeur, sur ses hôtes. Rien ne se corrige depuis votre VPS
Vghost (CVE-2026-74580), côté VPSNoyau de votre VPS, si les nœuds `/dev/vhost-*` sont atteignablesVous : noyau corrigé, puis redémarrage
Vghost, chemin déclenché depuis un invitéNoyau et QEMU de l'hôte, sous conditions précisesL'hébergeur
Mise à jour du noyau invité face à PwnEscapeLe défaut est sur l'hôteAucune protection de ce côté ; elle reste utile pour Vghost et les autres correctifs
Serveur dédié ou VPS dont vous êtes l'hyperviseur (KVM, Proxmox)Vous êtes l'hôteVous : les deux failles vous concernent
Conteneurs Docker sur le VPSIls partagent le noyau du VPSCorriger le noyau du VPS ; reconstruire une image n'y change rien
Hébergement mutualisé cPanelNoyau géré par l'hébergeurL'hébergeur

PwnEscape : ce qui incombe à l'hébergeur

Pour une évasion, c'est le noyau qui reçoit le trafic de la machine virtuelle qui doit être corrigé, donc celui de l'hôte. Les branches stables corrigées sont 5.10.272, 5.15.223, 6.1.190, 6.6.159, 6.12.113, 6.18.57 et 7.2.11 ; les noyaux de distribution rétroportent souvent un correctif sans changer de numéro de base, il faut donc lire le bulletin de la distribution plutôt que comparer des numéros. L'enregistrement CVE affiche d'ailleurs des bornes de versions peu cohérentes : fiez-vous aux trackers des distributions.

Sur un VPS, vous ne pouvez pas appliquer ce correctif, et mettre à jour votre noyau invité ne vous en protège pas. Demandez à votre hébergeur, quel qu'il soit, si ses hôtes sont corrigés, à quelle date, et si un redémarrage d'hôte est prévu. Nous ne prétendons pas ici qu'une offre précise est ou non vulnérable : seule la confirmation de l'exploitant fait foi. Dans son article, le chercheur prévoit des exploits publics pour les configurations les plus faibles d'ici quelques semaines : c'est sa prévision, pas un constat, et l'évaluation CISA ne signale aucune exploitation à ce jour.

Vghost : ce qui incombe à vous

Vghost est une escalade locale : l'attaquant doit déjà exécuter du code sur la machine, par exemple à travers un site client compromis qui tourne sous un compte sans privilège. Le correctif du noyau principal porte l'empreinte de845981da67. Les premières versions stables corrigées sont 5.10.265, 5.15.216, 6.1.183, 6.6.152, 6.12.104, 6.18.45, 7.1.9 et 7.2. Là encore, un noyau de distribution peut porter le correctif sous un autre numéro : comparez au bulletin de la distribution, pas au numéro amont.

Tout dépend des droits sur les nœuds vhost. D'après l'annonce publiée sur oss-security, dans les tests de son auteur, Ubuntu limitait /dev/vhost-vsock au groupe kvm, alors que RHEL, Amazon Linux, Azure Linux et Oracle Linux l'ouvraient à tout utilisateur. Sur un VPS qui n'héberge aucune machine virtuelle, ces nœuds sont normalement absents ; c'est à vérifier, pas à supposer. Le correctif ne s'active qu'au redémarrage sur le nouveau noyau.

Vérifier le noyau et l'exposition en dix minutes

  1. Relever le noyau en cours d'exécution

    uname -r
    Cette commande affiche le noyau chargé en mémoire, pas celui qui est installé sur le disque. C'est ce numéro qui compte pour Vghost, et il ne change qu'après un redémarrage.

  2. Lister les noyaux installés

    dpkg -l 'linux-image*' | grep '^ii'
    rpm -q kernel
    La première commande vaut pour Debian et Ubuntu, la seconde pour AlmaLinux, Rocky et RHEL. Si le noyau le plus récent de la liste diffère de celui de uname -r, un correctif est peut-être installé sans être actif.

  3. Savoir si un redémarrage est en attente

    cat /var/run/reboot-required
    sudo needrestart -k
    sudo dnf needs-restarting -r
    Les deux premières commandes servent sur Debian et Ubuntu, la troisième sur AlmaLinux et Rocky (paquet dnf-utils si la commande manque). Elles comparent noyau en cours et noyau installé.

  4. Chercher les nœuds vhost et leurs droits

    ls -l /dev/vhost-net /dev/vhost-vsock
    lsmod | grep '^vhost'
    getent group kvm
    Sans nœud ni module chargé, la voie décrite pour Vghost n'est pas ouverte à cet instant, mais un logiciel ou un administrateur peut charger le module plus tard. Si un nœud existe, lisez son mode : 0666 signifie que tout compte local peut l'ouvrir, 0660 qu'il faut appartenir au groupe propriétaire. Si vous exploitez vous-même des machines virtuelles, ajoutez ls -l /dev/kvm.

  5. Chercher l'identifiant dans le journal du paquet

    apt changelog linux-image-$(uname -r) | grep CVE-2026-74580
    rpm -q --changelog kernel | grep CVE-2026-74580
    La première ligne vaut pour Debian et Ubuntu, la seconde pour la famille RHEL. Trouver l'identifiant est un bon signe ; ne pas le trouver ne prouve rien, car le journal peut citer le correctif autrement. Le tracker de la distribution tranche.

  6. Traiter les conteneurs et les droits d'accès aux périphériques

    docker exec <conteneur> uname -r
    docker ps -q | xargs -r docker inspect | grep -E 'Privileged|vhost'
    La première commande affiche le noyau du VPS, preuve que le conteneur n'en a pas un à lui. La seconde repère les conteneurs lancés en mode privilégié ou avec un périphérique vhost monté : eux voient les nœuds de l'hôte.

Où en sont les distributions

L'état des correctifs change d'un jour à l'autre et diffère d'une version de distribution à l'autre, certaines étant corrigées avant d'autres. Relisez le tracker de votre distribution pour les deux identifiants, CVE-2026-74580 et CVE-2026-99999, avant de conclure : les liens figurent en fin d'article. Pour AlmaLinux et Rocky, suivez les errata publiés par chaque projet à la suite de ceux de RHEL. Tant que votre version n'affiche pas de correctif publié, appliquez une parade provisoire et revenez vérifier.

Mettre à jour selon l'environnement

  1. Debian et Ubuntu

    sudo apt update
    sudo apt full-upgrade
    apt list --installed 'linux-image*'
    Utilisez full-upgrade : un nouveau noyau arrive sous un nouveau nom de paquet, et apt upgrade le laisse souvent de côté (« kept back »). Si le tracker indique que le correctif n'est pas encore publié pour votre version, la mise à jour n'apporte rien sur ce point : appliquez une parade provisoire et repassez régulièrement.

  2. AlmaLinux, Rocky et RHEL

    sudo dnf upgrade --refresh kernel
    sudo grubby --default-kernel
    sudo dnf needs-restarting -r
    La deuxième commande confirme que le noyau installé est bien celui qui démarrera par défaut. La troisième dit si le système attend un redémarrage.

  3. Docker et conteneurs

    Il n'y a rien à reconstruire : les conteneurs utilisent le noyau du VPS. Mettez à jour le noyau de la machine comme ci-dessus, puis redémarrez-la. Après le redémarrage, vérifiez que chaque conteneur est reparti : docker ps et docker ps -a --filter status=exited. Une politique restart: unless-stopped dans vos fichiers Compose évite de relancer à la main.

  4. Hyperviseur maison (KVM, Proxmox)

    Vous êtes l'hôte, donc les deux failles vous concernent. Appliquez les mêmes mises à jour sur l'hôte, puis redémarrez-le après avoir migré ou arrêté proprement les machines virtuelles. Gardez l'hôte à jour avant les invités, pas après.

Un noyau installé n'est pas un noyau en cours

Un apt full-upgrade réussi ne corrige rien tant que la machine n'a pas redémarré : le noyau vulnérable reste chargé en mémoire. Le seul contrôle valable est uname -r après redémarrage, à comparer au numéro attendu dans le bulletin de votre distribution. Notez-le dans votre registre, avec la date, pour chaque serveur.

Redémarrer sans couper les sites clients

Planifiez plutôt que de subir. Choisissez une fenêtre creuse, prévenez les clients, vérifiez que vos sauvegardes sont récentes, puis programmez le redémarrage : sudo shutdown -r 03:30 "Redémarrage noyau". Avant, relevez l'état des services avec systemctl --failed et la liste des conteneurs avec docker ps ; après, rejouez les mêmes commandes et comparez. Traitez le parc par paliers de quelques machines.

Le livepatch peut éviter un redémarrage, mais sa disponibilité dépend de la distribution et de l'abonnement : Canonical Livepatch sur Ubuntu avec Ubuntu Pro, kpatch sur la famille RHEL, KernelCare chez un éditeur tiers. Ne supposez pas qu'un correctif à chaud existe pour ces deux failles : lisez le bulletin du fournisseur et, sur Ubuntu, canonical-livepatch status --verbose. L'avis de Vghost demande un redémarrage sur le noyau corrigé ; sans livepatch confirmé, c'est la seule voie.

Parades provisoires et leurs limites

Si le correctif de votre distribution n'est pas encore publié, deux gestes réduisent la surface de Vghost, sans la fermer. Le premier consiste à retirer l'accès général aux nœuds, par exemple sudo chmod 0660 /dev/vhost-net /dev/vhost-vsock, puis à garder les conteneurs non fiables loin de ces périphériques. Cela ne révoque pas les descripteurs déjà ouverts. Le second, que la fiche Red Hat de Vghost propose comme parade, empêche le chargement des modules : printf 'install vhost_net /bin/false\ninstall vhost_vsock /bin/false\n' | sudo tee /etc/modprobe.d/vhost-off.conf, puis sudo modprobe -r vhost_net vhost_vsock. Red Hat prévient que couper vhost peut dégrader les performances d'entrée-sortie des machines virtuelles, et que le déchargement échoue si le pilote est utilisé.

Ces mesures ne servent à rien contre PwnEscape, dont le défaut est sur l'hôte, et aucune ne remplace le noyau corrigé. Rétablissez la configuration d'origine une fois le correctif appliqué.

Contrôler les traces après coup

Aucun indicateur de compromission propre à ces failles n'a été publié à notre connaissance, ce qui rend le contrôle imparfait. Parcourez quand même ce qui peut trahir une élévation de privilèges récente : sudo journalctl -k --since "30 days ago" | grep -i -E 'vhost|oops|general protection' pour les anomalies noyau, last -x | head -30 pour les connexions et redémarrages, sudo awk -F: '$3==0' /etc/passwd pour les comptes de niveau root, puis les clés de /root/.ssh/authorized_keys et les tâches crontab -l de root. Cherchez aussi les binaires setuid récents avec sudo find / -xdev -perm -4000 -mtime -30.

Un attaquant devenu root peut effacer ses traces : un contrôle propre n'est pas une preuve de santé. En cas de doute sur un serveur qui a hébergé du code non fiable, reconstruisez-le depuis une image saine et restaurez les données plutôt que de le nettoyer.

Pour une agence : un créneau commun, pas un serveur après l'autre

Avec des dizaines de VPS chez des clients différents, la commande de mise à jour prend une minute ; le temps part à savoir quel serveur tourne sur quel noyau, qui valide le redémarrage et quand. Tenez un registre vivant alimenté par uname -r et par la présence de /var/run/reboot-required, puis fixez un créneau commun annoncé d'avance plutôt que de découvrir la faille serveur par serveur. Triez d'abord les machines où du code client non fiable s'exécute, puis celles où /dev/vhost-* existe.

L'espace agence ServOrbit centralise services et échéances, ce qui évite de les suivre compte par compte. Pour qui ne souhaite pas tenir le noyau lui-même, ServOrbit propose l'option administration VPS ; ce guide, lui, est fourni sans prise en charge.

La documentation officielle

Divulgation de Vghost sur oss-security : https://openwall.com/lists/oss-security/2026/10/14/2

Analyse technique de Vghost : https://matrix.tencent.com/en/2026/10/12/vghost-cve-2026-74580

Enregistrement CVE de PwnEscape : https://cveawg.mitre.org/api/cve/CVE-2026-99999

Article du découvreur de PwnEscape : https://pwn.ai/blog/pwnescape

Tracker Debian pour Vghost : https://security-tracker.debian.org/tracker/CVE-2026-74580

Tracker Debian pour PwnEscape : https://security-tracker.debian.org/tracker/CVE-2026-99999

Tracker Ubuntu pour Vghost : https://ubuntu.com/security/CVE-2026-74580

Tracker Ubuntu pour PwnEscape : https://ubuntu.com/security/CVE-2026-99999

Fiche Red Hat pour Vghost : https://access.redhat.com/security/cve/CVE-2026-74580

Errata AlmaLinux : https://errata.almalinux.org/

Canonical Livepatch : https://ubuntu.com/security/livepatch

Outil needrestart : https://github.com/liske/needrestart

Un parc de VPS, un seul créneau de redémarrage

Un parc de serveurs clients se pilote mieux depuis un seul endroit. Dans l'espace agence ServOrbit.com, vous centralisez services et échéances ; l'option administration VPS existe pour qui ne veut pas tenir le noyau lui-même.

Besoin d'aide ?

Parcourez notre centre d'aide et notre FAQ, ou contactez notre équipe — rappel, WhatsApp ou e-mail. Support en français, anglais et arabe.

Écrire sur WhatsApps'ouvre dans un nouvel onglet