Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
spectre-meltdown-checker — Reptar, Downfall, Zenbleed, ZombieLoad, RIDL, Fallout, Foreshadow, Spectre, Meltdown - vérificateur de vulnérabilité/mitigation pour Linux & BSD | Kitploit
Outils/GitHubGitHub/speed47/spectre-meltdown-checker
Outils DéfensifsReconnaissanceScanners de VulnérabilitésAnalyse des VulnérabilitésCollecte d'InformationsSécurité MatérielleSécurité Matériel et IoTApprentissage et Éducation
GitHubspeed47/spectre-meltdown-checker

spectre-meltdown-checker

Reptar, Downfall, Zenbleed, ZombieLoad, RIDL, Fallout, Foreshadow, Spectre, Meltdown - vérificateur de vulnérabilité/mitigation pour Linux & BSD

3.9k471il y a 21 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager
Voir le dépôt

Spectre & Meltdown Checker

Un script shell autonome pour évaluer la résilience de votre système face aux multiples CVE d'exécution transitoire publiées depuis début 2018, et vous donner des conseils sur la façon de les atténuer.

Liste des CVE

CVENomAlias
CVE-2017-5753Contournement de vérification des limitesSpectre V1
CVE-2017-5715Injection de cible de branchementSpectre V2
CVE-2017-5754Chargement malveillant du cache de donnéesMeltdown
CVE-2018-3640Lecture malveillante de registre systèmeVariante 3a
CVE-2018-3639Contournement spéculatif de magasinVariante 4, SSB
CVE-2018-3615Défaut terminal L1Foreshadow (SGX)
CVE-2018-3620Défaut terminal L1Foreshadow-NG (OS/SMM)
CVE-2018-3646Défaut terminal L1Foreshadow-NG (VMM)
CVE-2018-12126Échantillonnage de données du tampon de magasin microarchitecturalMSBDS, Fallout
CVE-2018-12127Échantillonnage de données du port de charge microarchitecturalMLPDS, RIDL
CVE-2018-12130Échantillonnage de données du tampon de remplissage microarchitecturalMFBDS, ZombieLoad
CVE-2018-12207Exception de contrôle machine sur les changements de taille de pageiTLB Multihit, No eXcuses

Les entrées suivantes sont des errata de silicium ARM64 que le noyau contourne activement. Ils n'ont pas de CVE attribué ; ils sont suivis uniquement par les numéros d'erratum d'ARM. Sélectionnez-les avec --errata <numéro> ou le mnémonique --variant associé.

IDNomCœurs concernés
CVE-0001-0001Corruption spéculative du TLB AT (errata 1165522, 1319367, 1319537, 1530923)Cortex-A55/A57/A72/A76

Suis-je à risque ?

Selon votre situation, le tableau ci-dessous répond si un attaquant dans une position donnée peut extraire des données d'une cible donnée. La colonne « Utilisateur → Noyau » s'applique également à l'intérieur d'une VM (utilisateur VM vs. noyau VM), car les mêmes mécanismes CPU sont en jeu indépendamment de la virtualisation.

💥 Des données peuvent être divulguées à travers cette frontière.

✅ Pas affecté dans ce scénario.

☠️ Déni de service (crash système ou comportement imprévisible), pas de fuite de données.

(1) La divulgation inter-processus nécessite que SMT (Hyper-Threading) soit actif — l'attaquant et la victime doivent partager un cœur physique.

(2) Ne divulgue que la sortie de RDRAND/RDSEED, pas de la mémoire arbitraire ; permet néanmoins de récupérer du matériel cryptographique de n'importe quelle victime.

(3) CVE-2018-3615 (Foreshadow SGX) inverse le modèle de confiance normal : l'OS lit les données des enclaves SGX. Elle n'est pertinente que si le système exécute des enclaves SGX, et l'attaquant doit déjà avoir un accès au niveau OS.

(4) La divulgation VM→Hôte ne s'applique qu'à certains modèles de CPU affectés (Skylake-X, Kaby Lake, Comet Lake). Ice Lake, Tiger Lake et Rocket Lake ne sont affectés que pour les attaques natives (utilisateur vers noyau), pas invité vers hôte.

Descriptions détaillées des CVE

Déplier pour des descriptions plus détaillées des CVE

CVE-2017-5753 — Contournement de vérification des limites (Spectre Variante 1)

Un attaquant peut entraîner le prédicteur de branchement à mal prédire une vérification de limite, amenant le CPU à accéder spéculativement à de la mémoire hors limites. Cela affecte tous les logiciels, y compris le noyau, car toute vérification de limite conditionnelle peut potentiellement être exploitée. L'atténuation nécessite de recompiler les logiciels et le noyau avec un compilateur qui insère des instructions LFENCE (ou des barrières de spéculation équivalentes comme array_index_nospec) aux positions appropriées. L'impact sur les performances est négligeable car les barrières ne s'appliquent qu'à des motifs de code spécifiques et ciblés.

CVE-2017-5715 — Injection de cible de branchement (Spectre Variante 2)

Un attaquant peut empoisonner le Buffer de cibles de branchement (BTB) pour rediriger l'exécution spéculative des branches indirectes dans le noyau, divulguant ainsi la mémoire du noyau. Deux stratégies d'atténuation existent : (1) les mises à jour du microcode fournissant IBRS (Indirect Branch Restricted Speculation), qui vide l'état du prédicteur de branchement lors des transitions de privilège — cela a un coût de performance moyen à élevé, surtout sur du matériel ancien ; ou (2) la retpoline, une technique de compilateur qui remplace les branches indirectes par une construction que le spéculateur ne peut pas exploiter — cela a un coût de performance plus faible mais nécessite de recompiler le noyau et les logiciels sensibles.

CVE-2017-5754 — Chargement malveillant du cache de données (Meltdown)

Sur les processeurs Intel concernés, un processus utilisateur peut lire spéculativement la mémoire du noyau bien qu'il n'ait pas la permission. Le CPU finit par lever une exception, mais les données laissent des traces observables dans le cache. L'atténuation est entièrement côté noyau : l'isolation des tables de pages (PTI/KPTI) dissocie la majeure partie de la mémoire du noyau des tables de pages de l'espace utilisateur, de sorte qu'il n'y a rien à lire spéculativement. L'impact sur les performances est faible à moyen, principalement dû à l'augmentation de la pression sur le TLB causée par le changement de tables de pages à chaque entrée et sortie du noyau.

CVE-2018-3640 — Lecture malveillante de registre système (Variante 3a)

Similaire à Meltdown mais ciblant les registres système : un processus non privilégié peut lire spéculativement les valeurs de registres système privilégiés (tels que les registres spécifiques au modèle) et les exfiltrer via un canal auxiliaire. L'atténuation nécessite uniquement une mise à jour du microcode — aucun changement du noyau n'est nécessaire. L'impact sur les performances est négligeable.

CVE non prises en charge

Plusieurs CVE d'exécution transitoire ne sont pas couvertes par cet outil, pour diverses raisons (doublons, affectant uniquement du matériel ou des systèmes d'exploitation non pris en charge, théoriques sans exploitation connue, etc.). La liste complète ainsi que la raison de chaque exclusion sont disponibles dans le fichier UNSUPPORTED_CVE_LIST.md.

Périmètre

Systèmes d'exploitation pris en charge :

  • Linux (toutes versions, variantes et distributions)
  • FreeBSD, NetBSD, DragonFlyBSD et dérivés (les autres BSD ne sont pas pris en charge)

Pour les systèmes Linux, l'outil détectera les atténuations, y compris les correctifs non vanilla rétroportés, indépendamment du numéro de version annoncé du noyau et de la distribution (telles que Debian, Ubuntu, CentOS, RHEL, Fedora, openSUSE, Arch, ...), il fonctionne également si vous avez compilé votre propre noyau. Plus d'informations ici.

Les autres systèmes d'exploitation tels que MacOS, Windows, ESXi, etc. ne seront jamais pris en charge.

Architectures prises en charge :

  • x86 (32 bits)
  • amd64/x86_64 (64 bits)
  • ARM et ARM64
  • d'autres architectures fonctionneront, mais les atténuations (si elles existent) pourraient ne pas toujours être détectées

Questions fréquemment posées (FAQ)

Quel est le but de cet outil ? Pourquoi a-t-il été écrit ? En quoi peut-il m'être utile ? Comment fonctionne-t-il ? À quoi puis-je m'attendre ?

Toutes ces questions (et bien d'autres) ont des réponses détaillées dans la FAQ, veuillez y jeter un œil !

Modes de fonctionnement

Le script prend en charge quatre modes de fonctionnement, selon que vous souhaitiez inspecter le noyau en cours d'exécution, une image du noyau, le matériel CPU, ou une combinaison.

En mode En direct (par défaut), le script inspecte à la fois le CPU et le noyau en cours d'exécution. Vous pouvez éventuellement passer --kernel, --config, ou --map pour pointer le script vers des fichiers qu'il n'a pas pu détecter automatiquement.

En mode Sans exécution, le script lit toujours le CPU local (CPUID, MSR, microcode) mais ignore tous les artefacts du noyau en cours d'exécution (/sys, /proc, dmesg). Utilisez ce mode lorsque vous avez une image noyau d'un autre système mais que vous souhaitez l'évaluer par rapport au CPU actuel.

En mode Sans matériel, l'inspection du CPU et les artefacts du noyau en cours d'exécution sont entièrement ignorés. Ceci est utile pour l'analyse cross-architecturale, par exemple pour inspecter une image noyau ARM sur une station de travail x86.

En mode Matériel uniquement, le script ne rapporte que les informations CPU et la vulnérabilité matérielle par CVE, sans inspecter le noyau.

Exécution du script

Méthode directe (recommandée)

  • Obtenez la dernière version du script en utilisant curl ou wget

    root@kitploit:~
    curl -L https://meltdown.ovh -o spectre-meltdown-checker.sh
    wget https://meltdown.ovh -O spectre-meltdown-checker.sh
    
  • Inspectez le script. Vous n'exécutez jamais aveuglément des scripts téléchargés sur Internet, n'est-ce pas ?

    root@kitploit:~
    vim spectre-meltdown-checker.sh
    
  • Lorsque vous êtes prêt, exécutez le script en tant que root

    root@kitploit:~
    chmod +x spectre-meltdown-checker.sh
    sudo ./spectre-meltdown-checker.sh
    

Utilisation d'un conteneur Docker

Déplier pour les instructions

En utilisant docker compose :```shell docker compose build docker compose run --rm spectre-meltdown-checker

root@kitploit:~
Notez que sur les anciennes versions de docker, `docker-compose` est une commande séparée, vous devrez donc peut-être remplacer les deux occurrences de `docker compose` ci-dessus par `docker-compose`.

Utilisation directe de `docker build` :```shell
docker build -t spectre-meltdown-checker .
docker run --rm --privileged -v /boot:/boot:ro -v /dev/cpu:/dev/cpu:ro -v /lib/modules:/lib/modules:ro spectre-meltdown-checker

Exemple de sortie du script

  • AMD EPYC-Milan fonctionnant sous Debian Trixie

alt text

Télécharger l’outil
CVE-2019-11091
Échantillonnage de données microarchitectural en mémoire non cacheable
MDSUM, RIDL
CVE-2019-11135Abandon asynchrone TSXTAA, ZombieLoad V2
CVE-2020-0543Échantillonnage de données du tampon de registre spécialSRBDS, CROSSTalk
CVE-2022-21123Lecture de données des tampons partagésSBDR, MMIO Stale Data
CVE-2022-21125Échantillonnage de données des tampons partagésSBDS, MMIO Stale Data
CVE-2022-21166Écriture partielle de registre de périphériqueDRPW, MMIO Stale Data
CVE-2022-29900Exécution de code spéculative arbitraire avec instructions de retourRetbleed (AMD)
CVE-2022-29901Exécution de code spéculative arbitraire avec instructions de retourRetbleed (Intel), RSBA
CVE-2022-40982Échantillonnage de données GatherDownfall, GDS
CVE-2023-20569Sécurité des adresses de retourInception, SRSO
CVE-2023-20588Fuite de données spéculative par division par zéro AMDDIV0
CVE-2023-20593Fuite d'informations inter-processusZenbleed
CVE-2023-23583Problème de préfixe redondantReptar
CVE-2023-28746Échantillonnage de données du fichier de registreRFDS
CVE-2024-28956Sélection de cible indirecteITS
CVE-2024-36350Attaque de l'ordonnanceur transitoire, Store QueueTSA-SQ
CVE-2024-36357Attaque de l'ordonnanceur transitoire, L1TSA-L1
CVE-2025-40300Prédiction de branchement obsolète en sortie de VMVMScape
CVE-2024-45332Injection de privilège de branchementBPI
CVE-2025-54505Fuite de données obsolètes du diviseur à virgule flottante AMD Zen1FPDSS
CVE-0001-0002Charge non privilégiée spéculative (errata 2966298, 3117295)Cortex-A510/A520
CVE-0001-0003MSR SSBS non auto-synchronisant (erratum 3194386 + cousins)Cortex-A76/A77/A78/A78C/A710/A715/A720/A720AE/A725, X1/X1C/X2/X3/X4/X925, Neoverse-N1/N2/N3/V1/V2/V3/V3AE
VulnérabilitéUtilisateur → NoyauUtilisateur → UtilisateurVM → HôteVM → VMAtténuation
CVE-2017-5753 (Spectre V1)💥💥💥💥Recompilation complète avec LFENCE
CVE-2017-5715 (Spectre V2)💥💥💥💥Microcode + mise à jour du noyau (ou retpoline)
CVE-2017-5754 (Meltdown)💥✅✅✅Mise à jour du noyau
CVE-2018-3640 (Variante 3a)💥✅✅✅Mise à jour du microcode
CVE-2018-3639 (Variante 4, SSB)✅💥✅✅Microcode + mise à jour du noyau
CVE-2018-3615 (Foreshadow, SGX)✅ (3)✅ (3)✅ (3)✅ (3)Mise à jour du microcode
CVE-2018-3620 (Foreshadow-NG, OS/SMM)💥✅✅✅Mise à jour du noyau
CVE-2018-3646 (Foreshadow-NG, VMM)✅✅💥💥Mise à jour du noyau (ou désactiver EPT/SMT)
CVE-2018-12126 (MSBDS, Fallout)💥💥 (1)💥💥 (1)Microcode + mise à jour du noyau
CVE-2018-12127 (MLPDS, RIDL)💥💥 (1)💥💥 (1)Microcode + mise à jour du noyau
CVE-2018-12130 (MFBDS, ZombieLoad)💥💥 (1)💥💥 (1)Microcode + mise à jour du noyau
CVE-2018-12207 (iTLB Multihit, No eXcuses)✅✅☠️✅Mise à jour de l'hyperviseur (ou désactiver les hugepages)
CVE-2019-11091 (MDSUM, RIDL)💥💥 (1)💥💥 (1)Microcode + mise à jour du noyau
CVE-2019-11135 (TAA, ZombieLoad V2)💥💥 (1)💥💥 (1)Microcode + mise à jour du noyau
CVE-2020-0543 (SRBDS, CROSSTalk)💥 (2)💥 (2)💥 (2)💥 (2)Microcode + mise à jour du noyau
CVE-2022-21123 (SBDR, MMIO Stale Data)💥💥 (1)💥💥 (1)Microcode + mise à jour du noyau
CVE-2022-21125 (SBDS, MMIO Stale Data)💥💥 (1)💥💥 (1)Microcode + mise à jour du noyau
CVE-2022-21166 (DRPW, MMIO Stale Data)💥💥 (1)💥💥 (1)Microcode + mise à jour du noyau
CVE-2022-29900 (Retbleed AMD)💥✅💥✅Mise à jour du noyau (+ microcode pour IBPB)
CVE-2022-29901 (Retbleed Intel, RSBA)💥✅💥✅Microcode + mise à jour du noyau (eIBRS ou IBRS)
CVE-2022-40982 (Downfall, GDS)💥💥💥💥Mise à jour du microcode (ou désactiver AVX)
CVE-2023-20569 (Inception, SRSO)💥✅💥✅Microcode + mise à jour du noyau
CVE-2023-20588 (DIV0)💥💥 (1)💥💥 (1)Mise à jour du noyau (+ désactiver SMT)
CVE-2023-20593 (Zenbleed)💥💥💥💥Mise à jour du microcode (ou contournement noyau)
CVE-2023-23583 (Reptar)☠️☠️☠️☠️Mise à jour du microcode
CVE-2023-28746 (RFDS)💥✅💥✅Microcode + mise à jour du noyau
CVE-2024-28956 (ITS)💥✅💥 (4)✅Microcode + mise à jour du noyau
CVE-2024-36350 (TSA-SQ)💥💥 (1)💥💥 (1)Microcode + mise à jour du noyau
CVE-2024-36357 (TSA-L1)💥💥 (1)💥💥 (1)Microcode + mise à jour du noyau
CVE-2025-40300 (VMScape)✅✅💥✅Mise à jour du noyau (IBPB sur VM-exit)
CVE-2024-45332 (BPI)💥✅💥✅Mise à jour du microcode
CVE-2025-54505 (FPDSS)💥💥💥💥Mise à jour du noyau

CVE-2018-3639 — Contournement spéculatif de magasin (Variante 4)

Le CPU peut spéculativement charger une valeur de la mémoire avant qu'un magasin précédent sur la même adresse ne soit terminé, lisant ainsi des données obsolètes. Cela affecte principalement les logiciels utilisant la compilation JIT (par exemple, les moteurs JavaScript, eBPF), où un attaquant peut créer du code qui exploite la dépendance magasin-vers-charge. Aucune exploitation connue contre le noyau lui-même n'a été démontrée. L'atténuation nécessite une mise à jour du microcode (fournissant le mécanisme SSBD) ainsi qu'une mise à jour du noyau permettant aux logiciels concernés de s'inscrire à la protection via prctl(). L'impact sur les performances est faible à moyen, selon la fréquence à laquelle l'atténuation est activée.

CVE-2018-3615 — Défaut terminal L1 (Foreshadow, SGX)

L'attaque Foreshadow originale cible les enclaves Intel SGX. Lorsque le bit Présent d'une entrée de table de pages est effacé, le CPU peut encore utiliser spéculativement l'adresse physique dans l'entrée pour récupérer des données du cache L1, contournant ainsi les protections SGX. Un attaquant peut extraire des secrets (clés d'attestation, données scellées) des enclaves SGX. L'atténuation nécessite une mise à jour du microcode incluant des modifications du comportement SGX. L'impact sur les performances est négligeable.

CVE-2018-3620 — Défaut terminal L1 (Foreshadow-NG, OS/SMM)

Une généralisation de Foreshadow au-delà de SGX : un code non privilégié en espace utilisateur peut exploiter le même mécanisme L1TF pour lire la mémoire du noyau ou la mémoire du mode de gestion système (SMM). L'atténuation nécessite une mise à jour du noyau qui implémente l'inversion PTE — marquant les entrées de table de pages non présentes avec des adresses physiques invalides de sorte que le cache L1 ne puisse pas contenir de données utiles à ces adresses. L'impact sur les performances est négligeable car l'inversion PTE est un changement unique à la logique de gestion des tables de pages sans surcharge d'exécution.

CVE-2018-3646 — Défaut terminal L1 (Foreshadow-NG, VMM)

Une VM invitée peut exploiter L1TF pour lire la mémoire appartenant à l'hôte ou à d'autres invités, car les tables de pages de l'hyperviseur peuvent avoir des entrées non présentes pointant vers des adresses physiques valides de l'hôte encore résidentes dans L1. Les options d'atténuation incluent : vider le cache de données L1 à chaque entrée de VM (via une mise à jour du noyau fournissant le support de vidage L1d), désactiver les tables de pages étendues (EPT), ou désactiver l'Hyper-Threading (SMT) pour empêcher un thread frère de remplir le cache L1 pendant la spéculation. L'impact sur les performances va de faible à significatif selon l'atténuation choisie, le vidage L1d à l'entrée VM étant le plus pratique mais toujours mesurable sur les charges de travail lourdes en VM.

CVE-2018-12126 — Échantillonnage de données du tampon de magasin microarchitectural (MSBDS, Fallout)

CVE-2018-12127 — Échantillonnage de données du port de charge microarchitectural (MLPDS, RIDL)

CVE-2018-12130 — Échantillonnage de données du tampon de remplissage microarchitectural (MFBDS, ZombieLoad)

CVE-2019-11091 — Échantillonnage de données microarchitectural en mémoire non cacheable (MDSUM, RIDL)

Ces quatre CVE sont collectivement connues sous le nom de vulnérabilités « MDS » (Microarchitectural Data Sampling). Elles exploitent différents tampons internes du CPU — tampon de magasin, tampon de remplissage, ports de charge et chemins mémoire non cacheable — qui peuvent divulguer des données récemment consultées à travers les limites de privilège lors de l'exécution spéculative. Un attaquant non privilégié peut observer des données récemment traitées par le noyau ou d'autres processus. L'atténuation nécessite une mise à jour du microcode (fournissant le mécanisme MD_CLEAR) ainsi qu'une mise à jour du noyau utilisant VERW pour vider les tampons affectés lors des transitions de privilège. La désactivation de l'Hyper-Threading (SMT) offre une protection supplémentaire car les threads frères partagent ces tampons. L'impact sur les performances est faible à significatif, selon la fréquence des transitions noyau et si SMT est désactivé.

CVE-2018-12207 — Exception de contrôle machine sur les changements de taille de page (iTLB Multihit, No eXcuses)

Une VM invitée malveillante peut déclencher une exception de contrôle machine (MCE) — faisant planter tout l'hôte — en créant des conditions spécifiques dans le TLB d'instructions impliquant des changements de taille de page. Il s'agit d'une vulnérabilité de déni de service affectant les hyperviseurs exécutant des invités non fiables. L'atténuation nécessite soit de désactiver l'utilisation des hugepages dans l'hyperviseur, soit de mettre à jour l'hyperviseur pour éviter les configurations iTLB problématiques. L'impact sur les performances va de faible à significatif selon l'approche : la désactivation des hugepages peut considérablement affecter les charges de travail gourmandes en mémoire.

CVE-2019-11135 — Abandon asynchrone TSX (TAA, ZombieLoad V2)

Sur les CPU avec Intel TSX, un abandon transactionnel peut laisser des données des tampons de remplissage de ligne dans un état observable via des canaux auxiliaires, similaire aux vulnérabilités MDS mais déclenché via TSX. L'atténuation nécessite une mise à jour du microcode ainsi qu'un support du noyau pour soit vider les tampons affectés, soit désactiver complètement TSX (via le MSR TSX_CTRL). L'impact sur les performances est faible à significatif, similaire à MDS, avec la possibilité d'éliminer complètement la surface d'attaque en désactivant TSX au prix de la perte du support de mémoire transactionnelle.

CVE-2020-0543 — Échantillonnage de données du tampon de registre spécial (SRBDS, CROSSTalk)

Certaines instructions CPU spéciales (RDRAND, RDSEED, EGETKEY) lisent des données via un tampon de mise en commun partagé accessible à travers tous les cœurs via l'exécution spéculative. Un attaquant exécutant du code sur n'importe quel cœur peut observer la sortie de ces instructions d'une victime sur un cœur différent, y compris l'extraction de clés cryptographiques d'enclaves SGX (une clé ECDSA complète a été démontrée). C'est notable comme l'une des premières attaques par exécution spéculative inter-cœurs. L'atténuation nécessite une mise à jour du microcode qui sérialise l'accès au tampon de mise en commun, ainsi qu'une mise à jour du noyau pour gérer l'atténuation. L'impact sur les performances est faible, affectant principalement les charges de travail qui utilisent intensivement RDRAND/RDSEED.

CVE-2022-21123, CVE-2022-21125, CVE-2022-21166 — Données obsolètes MMIO du processeur (SBDR, SBDS, DRPW)

Une classe de vulnérabilités MMIO (Memory-Mapped I/O) où des données obsolètes provenant des tampons de remplissage internes du CPU peuvent être déduites via des attaques par canaux auxiliaires lors d'opérations MMIO. Trois sous-vulnérabilités sont couvertes : Shared Buffers Data Read (SBDR, CVE-2022-21123), Shared Buffers Data Sampling (SBDS, CVE-2022-21125), et Device Register Partial Write (DRPW, CVE-2022-21166). Les CPU Intel concernés incluent Haswell à Rocket Lake, processeurs serveur et client, ainsi que les cœurs Tremont Atom. L'atténuation nécessite une mise à jour du microcode fournissant la capacité FB_CLEAR (l'instruction VERW vide les tampons de remplissage) ainsi qu'une mise à jour du noyau (Linux 5.19+) qui invoque VERW aux transitions noyau/utilisateur et entrée/sortie de VM. Lorsque SMT est activé, les threads frères peuvent toujours exploiter la vulnérabilité même avec les atténuations actives. L'impact sur les performances est faible, car le mécanisme VERW est partagé avec l'atténuation MDS existante.

CVE-2022-29900 — Exécution de code spéculative arbitraire avec instructions de retour (Retbleed AMD)

Sur les processeurs AMD des familles 0x15 à 0x17 (Bulldozer à Zen 2) et Hygon famille 0x18, un attaquant peut exploiter les instructions de retour pour rediriger l'exécution spéculative et divulguer la mémoire du noyau, contournant les atténuations retpoline qui étaient efficaces contre Spectre V2. Contrairement à Spectre V2 qui cible les sauts et appels indirects, Retbleed cible spécifiquement les instructions de retour, qui étaient auparavant considérées comme sûres. L'atténuation nécessite une mise à jour du noyau fournissant soit le thunk de retour non entraîné (safe RET), soit le mécanisme IBPB-on-entry, ainsi qu'une mise à jour du microcode fournissant le support IBPB sur Zen 1/2. Sur Zen 1/2, SMT doit être désactivé pour une protection complète lors de l'utilisation d'une atténuation basée sur IBPB. L'impact sur les performances est moyen.

CVE-2022-29901 — Exécution de code spéculative arbitraire avec instructions de retour (Retbleed Intel, RSBA)

Sur Intel Skylake à Rocket Lake avec RSB Alternate Behavior (RSBA), les instructions de retour peuvent être redirigées spéculativement via le Buffer de cibles de branchement lorsque la pile de retours (RSB) déborde, contournant les atténuations retpoline. L'atténuation nécessite soit Enhanced IBRS (eIBRS, via une mise à jour du microcode), soit un noyau compilé avec le support IBRS-on-entry (Linux 5.19+). Le suivi de profondeur d'appel (stuffing) est une autre atténuation disponible depuis Linux 6.2+. La retpoline simple n'atténue PAS cette vulnérabilité sur les CPU capables de RSBA. L'impact sur les performances est moyen à élevé.

**CVE-2022-40982 — Échantillonnage de données Gather (GDS, Downfall)**Les instructions AVX GATHER peuvent divulguer des données provenant de registres vectoriels précédemment utilisés à travers les frontières de privilèges via le tampon de données de rassemblement partagé. Cela affecte tout logiciel utilisant AVX2 ou AVX-512 sur les processeurs Intel vulnérables. L'atténuation est fournie par une mise à jour du microcode qui vide le tampon de rassemblement, ou alternativement en désactivant complètement la fonctionnalité AVX. L'impact sur les performances est négligeable pour la plupart des charges de travail, mais peut être significatif (jusqu'à 50 %) pour les applications lourdes en AVX telles que le HPC et l'inférence IA.

CVE-2023-20569 — Return Address Security (Inception, SRSO)

Sur les processeurs AMD Zen 1 à Zen 4, un attaquant peut manipuler le prédicteur d'adresse de retour pour rediriger l'exécution spéculative sur les instructions de retour, divulguant ainsi la mémoire du noyau. L'atténuation nécessite à la fois une mise à jour du noyau (fournissant des séquences de retour sûr SRSO ou IBPB à l'entrée) et une mise à jour du microcode (fournissant SBPB sur Zen 3/4, ou le support IBPB sur Zen 1/2 — ce qui nécessite en plus la désactivation de SMT). L'impact sur les performances varie de faible à significatif selon l'atténuation choisie et la génération de CPU.

CVE-2023-20588 — AMD Division par zéro fuite de données spéculative (DIV0)

Sur les processeurs AMD Zen 1, une exception #DE (division par zéro) peut laisser des données de quotient obsolètes d'une division précédente dans l'unité de division, observables par une division ultérieure via des canaux auxiliaires spéculatifs. Cela peut divulguer des données à travers toute frontière de privilège, y compris entre les threads frères SMT partageant le même cœur physique. L'atténuation nécessite une mise à jour du noyau (Linux 6.5+) qui ajoute une division fictive (amd_clear_divider()) à chaque sortie vers l'espace utilisateur et avant VMRUN, empêchant les données obsolètes de persister. Aucune mise à jour du microcode n'est nécessaire. La désactivation de SMT offre une protection supplémentaire car l'atténuation du noyau ne couvre pas les fuites entre threads SMT. L'impact sur les performances est négligeable.

CVE-2023-20593 — Fuite d'informations inter-processus (Zenbleed)

Un bogue dans les processeurs AMD Zen 2 provoque l'instruction VZEROUPPER à mettre incorrectement à zéro les fichiers de registres lors de l'exécution spéculative, laissant des données obsolètes d'autres processus observables dans les registres vectoriels. Cela peut divulguer des données à travers toute frontière de privilège, y compris depuis le noyau et d'autres processus, à des taux allant jusqu'à 30 Ko/s par cœur. L'atténuation est disponible soit via une mise à jour du microcode qui corrige le bogue, soit via une solution de contournement du noyau qui définit le bit FP_BACKUP_FIX (bit 9) dans le MSR DE_CFG, désactivant l'optimisation défaillante. Chacune de ces approches est suffisante seule. L'impact sur les performances est négligeable.

CVE-2023-23583 — Problème de préfixe redondant (Reptar)

Un bogue dans les processeurs Intel provoque un comportement inattendu lors de l'exécution d'instructions avec des préfixes REX redondants spécifiques. Selon les circonstances, cela peut entraîner un crash système (MCE), un comportement imprévisible ou potentiellement une élévation de privilèges. Tout logiciel s'exécutant sur un CPU affecté peut déclencher le bogue. L'atténuation nécessite une mise à jour du microcode. L'impact sur les performances est faible.

CVE-2023-28746 — Échantillonnage de données du fichier de registres (RFDS)

Sur certains processeurs Intel Atom et hybrides (Goldmont, Goldmont Plus, Tremont, Gracemont, et les cœurs Atom d'Alder Lake et Raptor Lake), le fichier de registres peut conserver des données obsolètes d'opérations précédentes accessibles via l'exécution spéculative, permettant à un attaquant d'inférer des données à travers les frontières de privilèges. L'atténuation nécessite à la fois une mise à jour du microcode (fournissant la capacité RFDS_CLEAR) et une mise à jour du noyau (CONFIG_MITIGATION_RFDS, Linux 6.9+) qui utilise l'instruction VERW pour vider le fichier de registres lors des transitions de privilèges. Les CPU ayant le bit de capacité RFDS_NO ne sont pas affectés. L'impact sur les performances est faible.

CVE-2024-28956 — Sélection de cible indirecte (ITS)

Sur certains processeurs Intel (Skylake-X stepping 6+, Kaby Lake, Comet Lake, Ice Lake, Tiger Lake, Rocket Lake), un attaquant peut entraîner le prédicteur de branche indirecte pour exécuter spéculativement un gadget ciblé dans le noyau, contournant les protections eIBRS. Le tampon de cibles de branche (BTB) utilise uniquement des bits d'adresse partiels pour indexer les cibles de branche indirecte, permettant au code de l'espace utilisateur d'influencer l'exécution spéculative de l'espace noyau. Certains CPU affectés (Ice Lake, Tiger Lake, Rocket Lake) ne sont vulnérables qu'aux attaques de l'utilisateur natif vers le noyau, pas aux attaques invité vers hôte (VMX). L'atténuation nécessite à la fois une mise à jour du microcode (IPU 2025.1 / microcode-20250512+, qui corrige IBPB pour vider complètement les prédictions de branche indirecte) et une mise à jour du noyau (CONFIG_MITIGATION_ITS, Linux 6.15+) qui aligne les thunks de branche/retour ou utilise le bourrage RSB. L'impact sur les performances est faible.

CVE-2024-36350 — Attaque de l'ordonnanceur transitoire, file d'attente de stockage (TSA-SQ)

Sur les processeurs AMD Zen 3 et Zen 4, l'ordonnanceur transitoire du CPU peut récupérer spéculativement des données obsolètes de la file d'attente de stockage pendant certaines fenêtres temporelles, permettant à un attaquant d'inférer des données d'opérations de stockage précédentes à travers les frontières de privilèges. L'attaque peut également divulguer des données entre les threads frères SMT. L'atténuation nécessite à la fois une mise à jour du microcode (exposant la capacité VERW_CLEAR) et une mise à jour du noyau (CONFIG_MITIGATION_TSA, Linux 6.16+) qui utilise l'instruction VERW pour vider les tampons du CPU lors des transitions utilisateur/noyau et avant VMRUN. Le noyau vide également les tampons en veille lorsque SMT est actif. L'impact sur les performances est faible à moyen.

CVE-2024-36357 — Attaque de l'ordonnanceur transitoire, L1 (TSA-L1)

Sur les processeurs AMD Zen 3 et Zen 4, l'ordonnanceur transitoire du CPU peut récupérer spéculativement des données obsolètes du cache de données L1 pendant certaines fenêtres temporelles, permettant à un attaquant d'inférer des données dans le cache L1D à travers les frontières de privilèges. L'atténuation nécessite les mêmes mises à jour du microcode et du noyau que TSA-SQ : une mise à jour du microcode exposant VERW_CLEAR et une mise à jour du noyau (CONFIG_MITIGATION_TSA, Linux 6.16+) qui vide les tampons du CPU via VERW lors des transitions de privilèges. L'impact sur les performances est faible à moyen.

CVE-2025-40300 — Prédiction de branche obsolète lors de la sortie de VM (VMScape)

Après la sortie d'un VM invité vers l'hôte, des prédictions de branche obsolètes de l'invité peuvent influencer l'exécution spéculative côté hôte avant que le noyau ne revienne à l'espace utilisateur, permettant à un attaquant local de divulguer la mémoire du noyau hôte. Cela affecte les processeurs Intel de Sandy Bridge à Arrow Lake/Lunar Lake, les familles AMD Zen 1 à Zen 5, et la famille Hygon 0x18. Seuls les systèmes exécutant un hyperviseur avec des invités non fiables sont à risque. L'atténuation nécessite une mise à jour du noyau (CONFIG_MITIGATION_VMSCAPE, Linux 6.18+) qui émet IBPB avant de revenir à l'espace utilisateur après une sortie de VM. Aucune mise à jour spécifique du microcode n'est requise au-delà du support IBPB existant. L'impact sur les performances est faible.

CVE-2024-45332 — Injection de privilège de branche (BPI)

Un problème de concurrence dans le mécanisme de mise à jour du prédicteur de branche des processeurs Intel (Coffee Lake à Raptor Lake, plus certaines parties serveur et Atom) permet aux prédictions de branche de l'espace utilisateur d'influencer brièvement l'exécution spéculative de l'espace noyau, sapant les protections eIBRS et IBPB. Cela signifie que les systèmes se fiant uniquement à eIBRS pour l'atténuation Spectre V2 peuvent ne pas être complètement protégés sans le correctif du microcode. L'atténuation nécessite une mise à jour du microcode (intel-microcode 20250512+) qui corrige le timing de mise à jour asynchrone du prédicteur de branche afin que eIBRS et IBPB fonctionnent comme prévu initialement. Aucune modification du noyau n'est requise. L'impact sur les performances est négligeable.

CVE-2025-54505 — Fuite de données obsolètes du diviseur à virgule flottante AMD Zen1 (FPDSS)

Sur les processeurs AMD Zen1 et Zen+ (EPYC 7001, EPYC Embedded 3000, Athlon 3000 avec Radeon, Ryzen 3000 avec Radeon, Ryzen PRO 3000 avec Radeon Vega), le diviseur à virgule flottante matériel peut conserver des données de quotient partielles d'opérations précédentes. Dans certaines circonstances, ces résultats peuvent être divulgués à un autre thread partageant le même diviseur, traversant toute frontière de privilège. Cela a été attribué CVE-2025-54505 et publié par AMD sous le numéro AMD-SB-7053 le 17 avril 2026. L'atténuation nécessite une mise à jour du noyau (commit principal e55d98e77561, "x86/CPU: Fix FPDSS on Zen1", Linux 7.1) qui définit le bit 9 (ZEN1_DENORM_FIX_BIT) du MSR 0xc0011028 (MSR_AMD64_FP_CFG) de manière inconditionnelle sur chaque CPU Zen1 au démarrage, désactivant l'optimisation matérielle responsable de la fuite. Aucune mise à jour du microcode n'est requise : le bit de poulet est présent dans le silicium Zen1 depuis l'usine et est indépendant de la révision du microcode. L'impact sur les performances se limite à une légère réduction du débit de division en virgule flottante, raison pour laquelle AMD n'active pas le bit par défaut dans le matériel.

ModeDrapeauMatériel CPUNoyau en coursImage noyauCas d'utilisation
En direct (par défaut)(aucun)OuiOuidétection autoAudit quotidien du système actuel
Sans exécution--no-runtimeOuiNonrequisVérifier un noyau différent sur ce CPU (par ex. pré-déploiement)
Sans matériel--no-hwNonNonrequisAnalyse statique pure d'une image noyau pour un autre système ou architecture
Matériel uniquement--hw-onlyOuiNonNonVérifier rapidement la vulnérabilité du CPU sans inspecter le noyau