Le 22 octobre 2026, TianoCore a publié un advisory de sécurité critique pour EDK II, l'implémentation UEFI de référence utilisée par la quasi-totalité des firmwares de serveurs physiques (AMI, Insyde, Phoenix) et par le firmware virtuel OVMF des machines virtuelles Proxmox, VMware ESXi et QEMU/KVM. La vulnérabilité CVE-2026-97631, classée CVSS v4.0 9.5/10 (critique), est un buffer overflow dans le driver de boot réseau PXE (UefiPxeBcDxe). Un attaquant présent sur le réseau local envoie un paquet ICMP surdimensionné vers l'adresse IP d'une machine serveur en cours de démarrage PXE et exécute du code arbitraire en mémoire RAM avant même que Secure Boot ne s'active. Un proof-of-concept public existe déjà. Tout administrateur de serveur dédié utilisant le boot réseau, ou de serveurs virtuels Proxmox avec firmware OVMF, doit vérifier son exposition et appliquer le correctif ou le contournement décrits ci-dessous.
Source : advisory TianoCore GHSA-99cj-7hg9-mp4m (22 octobre 2026).
Comprendre la faille CVE-2026-97631
Le composant vulnérable est le driver PXE Base Code (NetworkPkg/UefiPxeBcDxe), chargé par le firmware UEFI lorsqu'une machine serveur tente un démarrage par le réseau (PXE boot). Ce driver écoute les messages d'erreur ICMP pendant le boot réseau et les copie dans un champ fixe de 504 octets (Mode.IcmpError) en RAM. Le problème se situe dans deux fonctions :
PxeBcIcmpErrorDpcHandlepour IPv4 ;PxeBcIcmp6ErrorDpcHandlepour IPv6.
La vérification de la taille est défectueuse : le pointeur de destination avance selon la longueur cumulée des fragments reçus, et non selon la longueur individuelle de chaque fragment. Un message ICMP dépassant 504 octets provoque une écriture hors limites (out-of-bounds write) dans la mémoire RAM de la phase DXE, la phase d'initialisation du firmware qui précède le chargement du système d'exploitation. Les faiblesses associées sont CWE-120 (copie sans vérification de taille), CWE-131 (calcul incorrect de la taille du buffer) et CWE-787 (écriture hors limites).
Les conséquences sont doubles. Un attaquant sans authentification, positionné sur le même segment réseau, peut :
- Déni de service : corrompre la mémoire RAM du firmware, provoquer une exception sur le processeur et bloquer le démarrage de la machine. La machine serveur ne boot plus tant que le PXE reste actif dans le BIOS.
- Exécution de code pré-boot : avec une connaissance du firmware cible (version du BIOS, agencement mémoire), planter du code en ring 0 sur le processeur dans la phase DXE, avant que Secure Boot ou le Measured Boot (TPM) n'ait vérifié ou mesuré le moindre composant du système d'exploitation. C'est une compromission root en dessous de toute protection logicielle : le firewall du système, les droits sudo, le chiffrement de l'espace disque ne servent à rien si l'attaquant contrôle le firmware.
La faille est présente dans EDK II depuis plus de seize ans. La fenêtre d'exploitation est limitée à la durée du boot PXE : l'attaque ne fonctionne que pendant que la machine démarre activement par le réseau.
Tableau comparatif : environnements exposés et non exposés
Tous les types de serveurs ne sont pas concernés de la même manière. Le tableau ci-dessous résume l'exposition selon l'environnement que vous administrez :
| Environnement | Firmware | PXE actif par défaut | Exposé | Action |
|---|---|---|---|---|
| Serveur dédié bare-metal (Dell, HPE, Supermicro) | UEFI basé EDK II (AMI, Insyde, Phoenix) | Souvent oui | Oui | Désactiver le PXE dans le BIOS ou attendre la mise à jour firmware du constructeur |
| Machine virtuelle Proxmox (OVMF) | OVMF (EDK II) | Non, sauf si net0 dans l'ordre de boot | Oui si PXE actif | Retirer net0 du boot order, mettre à jour pve-edk2-firmware |
| Machine virtuelle VMware ESXi (UEFI) | OVMF/EFI VMware (basé EDK II) | Non par défaut | Oui si PXE actif | Désactiver le PXE dans les options VM, appliquer le patch ESXi |
| Machine virtuelle avec SeaBIOS (BIOS legacy) | SeaBIOS (non EDK II) | Variable | Non | Aucune action requise pour cette CVE |
| VPS Linux ou VPS Windows (hébergement mutualisé ou VPS classique) | Géré par l'hébergeur | Non | Non directement | L'hébergeur gère le hardware et le firmware |
| Serveur en housing (data center) | UEFI basé EDK II | Souvent oui (provisioning) | Oui | Configurer le BIOS : désactiver le PXE après déploiement |
| Cluster de provisioning PXE | UEFI basé EDK II | Oui (par conception) | Oui | Segmenter le réseau PXE, planifier la migration firmware |
Qui est concerné : serveurs dédiés, Proxmox, VMware et environnements PXE
Quatre profils d'administrateurs sont directement exposés :
- Serveurs physiques avec boot PXE actif : les serveurs dédiés en data center utilisent souvent le boot PXE pour le déploiement automatisé (installation du système d'exploitation via le réseau, re-provisioning). Si le firmware UEFI de la machine serveur est basé sur EDK II (ce qui est le cas de la majorité des cartes mères avec processeurs Intel Xeon ou AMD EPYC), le driver PXE est vulnérable. Le vecteur d'attaque est le réseau local du data center : un paquet ICMP envoyé vers l'adresse IP de la machine pendant le boot suffit.
- Machines virtuelles Proxmox avec firmware OVMF : sur un serveur dédié sous Proxmox VE, les VM configurées avec le firmware OVMF (UEFI) au lieu de SeaBIOS sont concernées si le boot PXE est actif dans l'ordre de démarrage de la machine virtuelle. Le paquet
pve-edk2-firmwarefournit le firmware OVMF sur Proxmox. Chaque serveur virtuel utilisant OVMF doit être vérifié. - VMware ESXi et vSphere : les machines virtuelles configurées en mode UEFI sur un hôte VMware ESXi utilisent également un firmware dérivé d'EDK II. Si le boot PXE est actif dans les options de la VM, la faille s'applique. VMware publie ses propres correctifs via les bulletins de sécurité vSphere. Les administrateurs doivent consulter les advisories VMware et configurer le boot de chaque VM pour retirer le PXE inutilisé.
- Tout environnement PXE : serveurs bare-metal avec iDRAC, iLO ou IPMI configurés pour le boot réseau, clusters de provisioning, salles serveur en housing avec infrastructure de déploiement PXE dans le data center.
Les serveurs VPS Linux et les VPS Windows en hébergement standard ne sont en général pas concernés directement : le firmware du VPS est géré par l'hébergeur, et la plupart des VPS ne démarrent pas en PXE en production. Il en va de même pour l'hébergement mutualisé et les offres d'infogérance : le hardware et le firmware sont sous la responsabilité du prestataire. Toutefois, si vous administrez l'infrastructure de virtualisation elle-même (l'hôte Proxmox ou ESXi), le firmware OVMF de vos machines virtuelles est sous votre responsabilité.
Ce qu'un attaquant peut compromettre sur le serveur
Une exécution de code au niveau du firmware, avant le chargement du système d'exploitation, donne à l'attaquant un accès root invisible à tout ce qui tourne sur la machine serveur. Contrairement à une faille applicative, il n'y a aucun log, aucune alerte et aucun firewall capable de détecter ou bloquer l'intrusion. Voici ce qui est en danger :
- Serveur web et applications : Apache, Nginx, reverse proxy, l'ensemble de la pile applicative. Un attaquant pré-boot peut modifier les binaires du serveur web ou injecter un backdoor avant même le premier accès.
- Bases de données : MySQL, MariaDB, PostgreSQL. Les données clients, les comptes utilisateurs, les sauvegardes (backup) stockées sur l'espace disque local sont exposées.
- Services réseau : serveur DNS, serveur FTP, VPN (WireGuard, OpenVPN). Un détournement DNS au niveau firmware peut rediriger le trafic des noms de domaine hébergés vers un serveur tiers sans laisser de trace dans les journaux système.
- Clés et certificats : les clés SSH, les certificats TLS, les secrets d'API stockés sur le serveur. L'attaquant peut voler les clés avant que le chiffrement de l'espace disque ne soit déverrouillé.
- Machines virtuelles co-hébergées : sur un hôte de virtualisation, une compromission firmware permet potentiellement d'accéder à la RAM de toutes les VM hébergées sur le même serveur physique, quelle que soit leur isolation logicielle.
En résumé : si vous faites tourner un serveur dédié qui héberge des services critiques (serveur web, bases de données, noms de domaine, VPN), une compromission firmware rend caduques toutes les protections logicielles que vous avez configurées, du firewall au chiffrement en passant par les droits sudo.
Vérifier la version d'OVMF sur Proxmox
Sur un hôte Proxmox, le firmware OVMF est fourni par le paquet pve-edk2-firmware. Connectez-vous en SSH à l'hôte Proxmox (pas à une machine virtuelle) et vérifiez la version installée :
dpkg -l pve-edk2-firmware
Notez le numéro de version affiché. Vérifiez ensuite si une mise à jour est disponible dans les dépôts Proxmox :
sudo apt update && apt list --upgradable 2>/dev/null | grep edk2
Si une version plus récente apparaît, elle intègre potentiellement le correctif. Pour confirmer, consultez le changelog du paquet :
apt changelog pve-edk2-firmware 2>/dev/null | head -30
Recherchez une mention de CVE-2026-97631 ou de la correction du buffer overflow dans UefiPxeBcDxe. Au moment de la publication de cet article (29 octobre 2026), le correctif a été fusionné dans la branche de développement d'EDK II par TianoCore le 15 octobre 2026, mais aucune release stable d'EDK II ne l'intègre encore. Les distributeurs (Proxmox, Debian, Ubuntu) publient leurs propres paquets selon leur calendrier de sécurité.
Pour identifier quelles machines virtuelles utilisent le firmware OVMF sur votre hôte :
grep -rl "ovmf" /etc/pve/qemu-server/*.conf
Les fichiers retournés correspondent aux VM avec firmware UEFI/OVMF. Vérifiez dans chaque fichier de configuration si le boot PXE est actif :
grep "boot:" /etc/pve/qemu-server/*.conf
Une ligne contenant n dans l'ordre de boot (par exemple boot: order=scsi0;net0 ou boot: cdn dans l'ancien format) indique que le boot réseau est actif pour cette machine virtuelle. Notez aussi la quantité de RAM allouée à chaque VM (memory:) : une VM avec beaucoup de RAM offre un espace plus large pour l'exploitation du buffer overflow.
Vérifier l'exposition sur VMware ESXi
Sur un hôte VMware ESXi ou vSphere, les machines virtuelles configurées en mode UEFI (par opposition au BIOS legacy) utilisent un firmware dérivé d'EDK II. Pour vérifier si une VM a le boot PXE actif, ouvrez les paramètres de la VM dans le client vSphere, puis Boot Options. Si "EFI Network" ou "PXE" figure dans l'ordre de démarrage, la VM est exposée.
En ligne de commande sur l'hôte ESXi, listez les fichiers de configuration des VM :
find /vmfs/volumes/ -name "*.vmx" -exec grep -l "firmware.*efi" {} \;
Puis, pour chaque fichier VMX retourné, vérifiez le paramètre de boot réseau :
grep "bios.bootOrder\|ethernet.*pxe" /vmfs/volumes/datastore1/ma-vm/ma-vm.vmx
VMware publie ses correctifs firmware via les bulletins de sécurité vSphere. Consultez le portail VMware Security Advisories pour suivre la disponibilité du patch. En attendant, la migration du boot de chaque machine virtuelle vers le disque local uniquement constitue le meilleur contournement.
Appliquer le correctif EDK2
Le correctif modifie les deux fonctions de traitement ICMP pour vérifier correctement les limites du buffer avant chaque copie. Les paquets ICMP surdimensionnés sont désormais tronqués proprement lorsque le buffer de 504 octets est plein, empêchant toute écriture hors limites en RAM.
Sur Proxmox VE : dès que le paquet pve-edk2-firmware corrigé est disponible dans les dépôts, appliquez la mise à jour :
sudo apt update && sudo apt upgrade -y pve-edk2-firmware
Après la mise à jour du paquet, le nouveau firmware OVMF ne sera chargé que lors du prochain démarrage de chaque machine virtuelle. Un arrêt complet suivi d'un redémarrage de la VM est nécessaire (un simple reboot depuis l'intérieur de la VM ne recharge pas le firmware UEFI). Planifiez cette opération en dehors des heures de pointe. La flexibilité de Proxmox permet de redémarrer les VM une par une, sans interrompre le serveur physique.
Sur un serveur physique : le correctif doit être intégré par le fabricant de la carte mère dans une mise à jour du BIOS/UEFI. Consultez le site du constructeur (Dell, HPE, Supermicro, Lenovo) pour vérifier si un nouveau firmware est disponible pour votre modèle de hardware. Avant toute mise à jour, faites un backup complet de vos données et configurations. Si vous administrez un serveur dédié, documentez la version actuelle du BIOS, les processeurs installés et planifiez la migration firmware dans votre calendrier de maintenance.
Sur VMware ESXi : surveillez les bulletins de sécurité VMware. La mise à jour du firmware des VM UEFI passe par un patch ESXi ou une mise à jour du bundle OVMF fourni par VMware. Après application, un cycle complet arrêt/démarrage (pas un simple reboot) de chaque machine virtuelle concernée est nécessaire.
Contournement : désactiver le boot PXE inutilisé
La mitigation la plus simple et la plus efficace consiste à désactiver le boot PXE sur toute machine qui n'en a pas besoin. La majorité des serveurs en production démarrent depuis un disque local (SSD, NVMe) : le boot réseau n'est utilisé que pendant le provisioning initial. Désactiver un service inutilisé est une bonne pratique de sécurité indépendamment de cette CVE : chaque composant hardware ou logiciel actif au démarrage élargit la surface d'attaque.
Sur Proxmox (VM OVMF) : retirez l'interface réseau de l'ordre de démarrage de la machine virtuelle. Dans l'interface web Proxmox, sélectionnez la VM, puis Options, puis Boot Order. Décochez net0 (ou tout périphérique réseau) et ne conservez que le disque local. En ligne de commande :
qm set <vmid> --boot order=scsi0
Remplacez <vmid> par l'identifiant de votre machine virtuelle et scsi0 par le nom de votre disque de boot. Cette modification prend effet au prochain démarrage de la VM.
Sur un serveur physique (BIOS/UEFI) : accédez au setup UEFI du serveur (généralement F2 ou Suppr au démarrage, ou via l'interface iDRAC/iLO/IPMI à distance) et désactivez le boot PXE (appelé aussi "Network Boot", "PXE Boot" ou "UEFI Network Stack") pour toutes les interfaces réseau. Configurez l'ordre de boot pour démarrer uniquement depuis le disque local. Si vous avez besoin du boot PXE ponctuellement pour réinstaller un serveur, activez-le uniquement le temps du déploiement, puis désactivez-le immédiatement après.
Sur VMware ESXi : dans les paramètres de chaque machine virtuelle, éditez les Boot Options et retirez "EFI Network" de la séquence de démarrage. Ne conservez que le disque virtuel.
Cette mesure supprime complètement le vecteur d'attaque : si le driver PXE n'est pas chargé au démarrage, la faille ne peut pas être exploitée. Réduire la surface d'attaque fait partie des premiers réglages à appliquer sur tout serveur dédié.
Mesures complémentaires pour sécuriser votre infrastructure
Au-delà de cette CVE, les bonnes pratiques de sécurité limitent l'exposition aux failles firmware sur les serveurs physiques et les serveurs virtuels :
- Segmentation réseau et firewall : isolez le réseau de provisioning PXE du réseau de production avec un firewall dédié. Sur un serveur dédié avec pfSense dans une VM Proxmox, configurez un VLAN dédié au déploiement PXE, inaccessible depuis les VM de production. Le réseau PXE ne doit jamais être exposé sur le même segment que le serveur web, le serveur DNS ou le VPN.
- VPN pour l'administration : accédez à vos consoles d'administration (Proxmox, ESXi, iDRAC) uniquement via un tunnel VPN ou un proxy d'accès sécurisé, jamais directement depuis Internet. Cela limite la surface d'attaque réseau.
- Mises à jour automatiques : automatisez les mises à jour de sécurité sur vos serveurs pour appliquer les correctifs dès que votre distribution les publie.
- Backup avant mise à jour firmware : avant toute migration de version BIOS ou OVMF, sauvegardez vos données et configurations vers un serveur distant. Incluez les fichiers de configuration des VM, les dumps MySQL et les exports DNS.
- Inventaire hardware et firmware : documentez les versions de BIOS, d'OVMF et les modèles de processeurs de chaque serveur physique et machine virtuelle. Un inventaire à jour permet de réagir rapidement quand un correctif est publié. Notez aussi la RAM installée, l'espace disque et la configuration réseau (adresses IP, VLAN).
- Bare-metal vs VPS : si vous hésitez entre administrer votre propre hardware ou opter pour un VPS ou un serveur dédié, gardez en tête que la gestion firmware (BIOS, UEFI, OVMF) fait partie intégrante de la responsabilité d'un serveur physique. Sur un VPS, cette couche est gérée par l'hébergeur.
Chronologie et crédits
| Date | Événement |
|---|---|
| ~2010 | Introduction du code vulnérable dans EDK II (driver PXE Base Code) |
| 15 octobre 2026 | Correctif fusionné dans la branche de développement d'EDK II |
| 22 octobre 2026 | Publication de l'advisory GHSA-99cj-7hg9-mp4m et attribution du CVE-2026-97631 |
| 29 octobre 2026 | Aucune release stable d'EDK II ne contient encore le correctif |
La vulnérabilité a été découverte et signalée par Alex Matrosov (Anthropic) et Dan Holmes-Mitra (Google).
Questions fréquentes sur CVE-2026-97631
Retrouvez ci-dessous les réponses aux questions les plus courantes des administrateurs de serveurs dédiés et de machines virtuelles concernant cette faille UEFI.
Conclusion
CVE-2026-97631 est une faille critique du firmware UEFI qui permet l'exécution de code avant Secure Boot sur toute machine démarrant en PXE avec un firmware basé sur EDK II. Que vous administriez un serveur physique en data center, des serveurs virtuels sous Proxmox ou des VM sous VMware ESXi, l'enjeu est le même : un attaquant qui compromet le firmware accède à tout ce qui tourne sur le serveur, du serveur web aux bases de données MySQL en passant par le DNS et le VPN, sans que le firewall ou les protections logicielles ne puissent intervenir.
Le correctif a été fusionné dans le dépôt edk2 mais n'est pas encore disponible dans une release stable. En attendant les mises à jour de firmware de votre constructeur ou du paquet pve-edk2-firmware pour Proxmox, la mesure la plus efficace est de configurer chaque machine pour désactiver le boot PXE inutilisé. Si vous hébergez des services critiques sur un serveur dédié ou une infrastructure Proxmox, vérifiez l'exposition de vos machines avec les commandes décrites dans cet article et appliquez le contournement sans délai.
FiveM
Minecraft
Rust
RedM
Hytale