Skip to content
KitploitKITPLOIT
HerramientasBlog
Enviar
HerramientasBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

··Feeds·Contacto·Privacidad·© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
spectre-meltdown-checker — Reptar, Downfall, Zenbleed, ZombieLoad, RIDL, Fallout, Foreshadow, Spectre, Meltdown comprobador de vulnerabilidades/mitigaciones para Linux & BSD | Kitploit
Herramientas/GitHubGitHub/speed47/spectre-meltdown-checker
Herramientas DefensivasReconocimientoEscáneres de VulnerabilidadesAnálisis de VulnerabilidadesRecopilación de InformaciónSeguridad de HardwareSeguridad de Hardware e IoTAprendizaje y Educación

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
GitHub
speed47/spectre-meltdown-checker

spectre-meltdown-checker

Reptar, Downfall, Zenbleed, ZombieLoad, RIDL, Fallout, Foreshadow, Spectre, Meltdown comprobador de vulnerabilidades/mitigaciones para Linux & BSD

Ver Repositorio
3.9k47110hace 1 mesRevisado por Kitploit
Compartir

Spectre & Meltdown Checker

Un script de shell autocontenido para evaluar la resistencia de su sistema contra las diversas vulnerabilidades de ejecución transitoria que se publicaron desde principios de 2018, y ofrecerle orientación sobre cómo mitigarlas.

Lista de CVE

CVENombreAlias
CVE-2017-5753Bounds Check BypassSpectre V1
CVE-2017-5715Branch Target InjectionSpectre V2
CVE-2017-5754Rogue Data Cache LoadMeltdown
CVE-2018-3640Rogue System Register ReadVariant 3a
CVE-2018-3639Speculative Store BypassVariant 4, SSB
CVE-2018-3615L1 Terminal FaultForeshadow (SGX)
CVE-2018-3620L1 Terminal FaultForeshadow-NG (OS/SMM)
CVE-2018-3646L1 Terminal FaultForeshadow-NG (VMM)
CVE-2018-12126Microarchitectural Store Buffer Data SamplingMSBDS, Fallout
CVE-2018-12127Microarchitectural Load Port Data SamplingMLPDS, RIDL
CVE-2018-12130Microarchitectural Fill Buffer Data SamplingMFBDS, ZombieLoad
CVE-2018-12207Machine Check Exception on Page Size ChangesiTLB Multihit, No eXcuses
CVE-2019-11091Microarchitectural Data Sampling Uncacheable MemoryMDSUM, RIDL
CVE-2019-11135TSX Asynchronous AbortTAA, ZombieLoad V2
CVE-2020-0543Special Register Buffer Data SamplingSRBDS, CROSSTalk
CVE-2022-21123Shared Buffers Data ReadSBDR, MMIO Stale Data
CVE-2022-21125Shared Buffers Data SamplingSBDS, MMIO Stale Data
CVE-2022-21166Device Register Partial WriteDRPW, MMIO Stale Data
CVE-2022-29900Arbitrary Speculative Code Execution with Return InstructionsRetbleed (AMD)
CVE-2022-29901Arbitrary Speculative Code Execution with Return InstructionsRetbleed (Intel), RSBA
CVE-2022-40982Gather Data SamplingDownfall, GDS
CVE-2023-20569Return Address SecurityInception, SRSO
CVE-2023-20588AMD Division by Zero Speculative Data LeakDIV0
CVE-2023-20593Cross-Process Information LeakZenbleed
CVE-2023-23583Redundant Prefix IssueReptar
CVE-2023-28746Register File Data SamplingRFDS
CVE-2024-28956Indirect Target SelectionITS
CVE-2024-36350Transient Scheduler Attack, Store QueueTSA-SQ
CVE-2024-36357Transient Scheduler Attack, L1TSA-L1
CVE-2025-40300VM-Exit Stale Branch PredictionVMScape
CVE-2024-45332Branch Privilege InjectionBPI
CVE-2025-54505AMD Zen1 Floating-Point Divider Stale Data LeakFPDSS

Las siguientes entradas son errata de silicio ARM64 que el kernel maneja activamente. No tienen asignado un CVE; solo se rastrean mediante los números de errata de ARM. Selecciónelas con --errata <número> o el mnemónico --variant asociado.

IDNombreNúcleos afectados
CVE-0001-0001Speculative AT TLB corruption (errata 1165522, 1319367, 1319537, 1530923)Cortex-A55/A57/A72/A76
CVE-0001-0002Speculative unprivileged load (errata 2966298, 3117295)Cortex-A510/A520
CVE-0001-0003MSR SSBS not self-synchronizing (erratum 3194386 + siblings)Cortex-A76/A77/A78/A78C/A710/A715/A720/A720AE/A725, X1/X1C/X2/X3/X4/X925, Neoverse-N1/N2/N3/V1/V2/V3/V3AE

¿Estoy en riesgo?

Dependiendo de su situación, la tabla a continuación responde si un atacante en una posición determinada puede extraer datos de un objetivo concreto. La columna "Usaurio → Kernel" también se aplica dentro de una máquina virtual (usuario de VM vs. kernel de VM), ya que los mismos mecanismos de CPU están en juego independientemente de la virtualización.

VulnerabilidadUsuario → KernelUsuario → UsuarioVM → AnfitriónVM → VMMitigación
CVE-2017-5753 (Spectre V1)💥💥💥💥Recompilar todo con LFENCE
CVE-2017-5715 (Spectre V2)💥💥💥💥Microcódigo + actualización del kernel (o retpoline)
CVE-2017-5754 (Meltdown)💥✅✅✅Actualización del kernel
CVE-2018-3640 (Variant 3a)💥✅✅✅Actualización de microcódigo
CVE-2018-3639 (Variant 4, SSB)✅💥✅✅Microcódigo + actualización del kernel
CVE-2018-3615 (Foreshadow, SGX)✅ (3)✅ (3)✅ (3)✅ (3)Actualización de microcódigo
CVE-2018-3620 (Foreshadow-NG, OS/SMM)💥✅✅✅Actualización del kernel
CVE-2018-3646 (Foreshadow-NG, VMM)✅✅💥💥Actualización del kernel (o deshabilitar EPT/SMT)
CVE-2018-12126 (MSBDS, Fallout)💥💥 (1)💥💥 (1)Microcódigo + actualización del kernel
CVE-2018-12127 (MLPDS, RIDL)💥💥 (1)💥💥 (1)Microcódigo + actualización del kernel
CVE-2018-12130 (MFBDS, ZombieLoad)💥💥 (1)💥💥 (1)Microcódigo + actualización del kernel

💥 Los datos pueden filtrarse a través de este límite.

✅ No afectado en este escenario.

☠️ Denegación de servicio (caída del sistema o comportamiento impredecible), no hay fuga de datos.

(1) La filtración entre procesos requiere que SMT (Hyper-Threading) esté activo — el atacante y la víctima deben compartir un núcleo físico.

(2) Solo filtra la salida de RDRAND/RDSEED, no memoria arbitraria; aún así permite recuperar material criptográfico de cualquier víctima.

(3) CVE-2018-3615 (Foreshadow SGX) invierte el modelo de confianza normal: el sistema operativo lee datos de los enclaves SGX. No es relevante a menos que el sistema ejecute enclaves SGX, y el atacante ya debe tener acceso a nivel de SO.

(4) La filtración VM→Anfitrión solo se aplica a ciertos modelos de CPU afectados (Skylake-X, Kaby Lake, Comet Lake). Ice Lake, Tiger Lake y Rocket Lake solo se ven afectados para ataques nativos (usuario a kernel), no de invitado a anfitrión.

Descripciones detalladas de CVE

Desplegar para descripciones más detalladas de CVE

CVE-2017-5753 — Omisión de verificación de límites (Spectre Variante 1)

Un atacante puede entrenar al predictor de saltos para que prediga incorrectamente una verificación de límites, haciendo que la CPU acceda especulativamente a memoria fuera de los límites. Esto afecta a todo el software, incluido el kernel, porque cualquier verificación condicional de límites puede ser potencialmente explotada. La mitigación requiere recompilar el software y el kernel con un compilador que inserte instrucciones LFENCE (o barreras de especulación equivalentes como array_index_nospec) en las posiciones adecuadas. El impacto en el rendimiento es insignificante porque las barreras solo se aplican a patrones de código específicos y dirigidos.

CVE-2017-5715 — Inyección de objetivo de salto (Spectre Variante 2)

Un atacante puede envenenar el Búfer de Objetivos de Salto (BTB) para redirigir la ejecución especulativa de saltos indirectos en el kernel, filtrando memoria del kernel. Existen dos estrategias de mitigación: (1) actualizaciones de microcódigo que proporcionan IBRS (Indirect Branch Restricted Speculation), que vacía el estado del predictor de saltos en las transiciones de privilegio — esto tiene un costo de rendimiento medio a alto, especialmente en hardware antiguo; o (2) retpoline, una técnica de compilador que reemplaza los saltos indirectos con una construcción que el especulador no puede explotar — tiene un costo de rendimiento más bajo pero requiere recompilar el kernel y el software sensible.

CVE-2017-5754 — Carga especulativa de datos en caché (Meltdown)

En procesadores Intel afectados, un proceso de usuario puede leer especulativamente memoria del kernel a pesar de no tener permiso. La CPU eventualmente genera una falla, pero los datos dejan rastros observables en la caché. La mitigación es totalmente del lado del kernel: Page Table Isolation (PTI/KPTI) desasigna la mayor parte de la memoria del kernel de las tablas de páginas del espacio de usuario, por lo que no hay nada que leer especulativamente. El impacto en el rendimiento es bajo a medio, principalmente por el aumento de presión en la TLB al cambiar las tablas de páginas en cada entrada y salida del kernel.

CVE-2018-3640 — Lectura especulativa de registros del sistema (Variante 3a)

Similar a Meltdown pero dirigido a registros del sistema: un proceso sin privilegios puede leer especulativamente valores de registros privilegiados del sistema (como los Model-Specific Registers) y exfiltrarlos a través de un canal lateral. La mitigación requiere solo una actualización de microcódigo — no se necesitan cambios en el kernel. El impacto en el rendimiento es insignificante.

CVE-2018-3639 — Omisión especulativa de almacenamiento (Variante 4)

La CPU puede cargar especulativamente un valor de la memoria antes de que un almacenamiento previo a la misma dirección se complete, leyendo datos obsoletos. Esto afecta principalmente al software que utiliza compilación JIT (por ejemplo, motores JavaScript, eBPF), donde un atacante puede crear código que explote la dependencia de almacenamiento a carga. No se ha demostrado explotación conocida contra el kernel en sí. La mitigación requiere una actualización de microcódigo (que proporciona el mecanismo SSBD) más una actualización del kernel que permita al software afectado optar por la protección mediante prctl(). El impacto en el rendimiento es bajo a medio, dependiendo de la frecuencia con que se active la mitigación.

CVE-2018-3615 — Fallo de Terminal L1 (Foreshadow, SGX)

El ataque original de Foreshadow se dirige a los enclaves SGX de Intel. Cuando el bit Presente de una entrada de tabla de páginas está despejado, la CPU aún puede usar especulativamente la dirección física en la entrada para obtener datos de la caché L1, evitando las protecciones de SGX. Un atacante puede extraer secretos (claves de atestación, datos sellados) de los enclaves SGX. La mitigación requiere una actualización de microcódigo que incluya modificaciones en el comportamiento de SGX. El impacto en el rendimiento es insignificante.

CVE-2018-3620 — Fallo de Terminal L1 (Foreshadow-NG, OS/SMM)

Una generalización de Foreshadow más allá de SGX: el código de espacio de usuario sin privilegios puede explotar el mismo mecanismo L1TF para leer memoria del kernel o memoria del Modo de Gestión del Sistema (SMM). La mitigación requiere una actualización del kernel que implemente la inversión de PTE — marcando las entradas de tabla de páginas no presentes con direcciones físicas inválidas para que la caché L1 no pueda contener datos útiles en esas direcciones. El impacto en el rendimiento es insignificante porque la inversión de PTE es un cambio único en la lógica de gestión de tablas de páginas sin sobrecarga en tiempo de ejecución.

CVE-2018-3646 — Fallo de Terminal L1 (Foreshadow-NG, VMM)

Una máquina virtual invitada puede explotar L1TF para leer memoria perteneciente al anfitrión u otros invitados, porque las tablas de páginas del hipervisor pueden tener entradas no presentes que apuntan a direcciones físicas válidas del anfitrión aún residentes en L1. Las opciones de mitigación incluyen: vaciar la caché de datos L1 en cada entrada a la VM (a través de una actualización del kernel que proporcione soporte para vaciado de L1d), deshabilitar las Tablas de Páginas Extendidas (EPT), o deshabilitar Hyper-Threading (SMT) para evitar que un hilo hermano rellene la caché L1 durante la especulación. El impacto en el rendimiento varía de bajo a significativo según la mitigación elegida, siendo el vaciado de L1d en la entrada a la VM el más práctico pero aún medible en cargas de trabajo intensivas en VM.

CVE-2018-12126 — Muestreo de datos del búfer de almacenamiento microarquitectónico (MSBDS, Fallout)

CVE-2018-12127 — Muestreo de datos del puerto de carga microarquitectónico (MLPDS, RIDL)

CVE-2018-12130 — Muestreo de datos del búfer de relleno microarquitectónico (MFBDS, ZombieLoad)

CVE-2019-11091 — Muestreo de datos microarquitectónicos de memoria no almacenable en caché (MDSUM, RIDL)

Estos cuatro CVE se conocen colectivamente como vulnerabilidades "MDS" (Microarchitectural Data Sampling). Explotan diferentes búferes internos de la CPU — búfer de almacenamiento, búfer de relleno, puertos de carga y rutas de memoria no almacenable en caché — que pueden filtrar datos accedidos recientemente a través de límites de privilegio durante la ejecución especulativa. Un atacante sin privilegios puede observar datos procesados recientemente por el kernel u otros procesos. La mitigación requiere una actualización de microcódigo (que proporciona el mecanismo MD_CLEAR) más una actualización del kernel que use VERW para limpiar los búferes afectados en las transiciones de privilegio. Deshabilitar Hyper-Threading (SMT) proporciona protección adicional porque los hilos hermanos comparten estos búferes. El impacto en el rendimiento es de bajo a significativo, dependiendo de la frecuencia de las transiciones al kernel y si SMT está deshabilitado.

CVE-2018-12207 — Excepción de comprobación de máquina en cambios de tamaño de página (iTLB Multihit, No eXcuses)

Una máquina virtual invitada maliciosa puede desencadenar una excepción de comprobación de máquina (MCE) — bloqueando todo el anfitrión — al crear condiciones específicas en la TLB de instrucciones que involucran cambios de tamaño de página. Esta es una vulnerabilidad de denegación de servicio que afecta a hipervisores que ejecutan invitados no confiables. La mitigación requiere deshabilitar el uso de hugepages en el hipervisor o actualizar el hipervisor para evitar las configuraciones problemáticas de iTLB. El impacto en el rendimiento varía de bajo a significativo según el enfoque: deshabilitar hugepages puede afectar sustancialmente las cargas de trabajo intensivas en memoria.

CVE-2019-11135 — Aborto asíncrono de TSX (TAA, ZombieLoad V2)

En CPUs con Intel TSX, un aborto transaccional puede dejar datos de los búferes de línea de relleno en un estado observable a través de canales laterales, similar a las vulnerabilidades MDS pero desencadenado a través de TSX. La mitigación requiere una actualización de microcódigo más soporte del kernel para limpiar los búferes afectados o deshabilitar TSX por completo (a través del MSR TSX_CTRL). El impacto en el rendimiento es de bajo a significativo, similar a MDS, con la opción de eliminar la superficie de ataque por completo deshabilitando TSX a costa de perder soporte para memoria transaccional.

CVE-2020-0543 — Muestreo de datos del búfer de registros especiales (SRBDS, CROSSTalk)

Ciertas instrucciones especiales de la CPU (RDRAND, RDSEED, EGETKEY) leen datos a través de un búfer de etapa compartido que es accesible a través de todos los núcleos mediante ejecución especulativa. Un atacante que ejecuta código en cualquier núcleo puede observar la salida de estas instrucciones de una víctima en un núcleo diferente, incluyendo la extracción de claves criptográficas de enclaves SGX (se demostró una clave ECDSA completa). Esto es notable como uno de los primeros ataques de ejecución especulativa entre núcleos. La mitigación requiere una actualización de microcódigo que serialice el acceso al búfer de etapa, más una actualización del kernel para gestionar la mitigación. El impacto en el rendimiento es bajo, afectando principalmente a cargas de trabajo que usan intensivamente RDRAND/RDSEED.

CVE-2022-21123, CVE-2022-21125, CVE-2022-21166 — Datos obsoletos de MMIO del procesador (SBDR, SBDS, DRPW)

Una clase de vulnerabilidades de MMIO (Memory-Mapped I/O) donde datos obsoletos de los búferes internos de relleno de la CPU pueden inferirse a través de ataques de canal lateral durante operaciones MMIO. Se cubren tres subvulnerabilidades: Shared Buffers Data Read (SBDR, CVE-2022-21123), Shared Buffers Data Sampling (SBDS, CVE-2022-21125) y Device Register Partial Write (DRPW, CVE-2022-21166). Las CPUs Intel afectadas incluyen Haswell hasta Rocket Lake, tanto servidores como clientes, además de núcleos Tremont Atom. La mitigación requiere una actualización de microcódigo que proporcione la capacidad FB_CLEAR (la instrucción VERW limpia los búferes de relleno) más una actualización del kernel (Linux 5.19+) que invoque VERW en las transiciones kernel/usuario y en la entrada/salida de VM. Cuando SMT está habilitado, los hilos hermanos aún pueden explotar la vulnerabilidad incluso con mitigaciones activas. El impacto en el rendimiento es bajo, ya que el mecanismo VERW se comparte con la mitigación MDS existente.

CVE-2022-29900 — Ejecución especulativa arbitraria de código con instrucciones de retorno (Retbleed AMD)

En procesadores AMD de las familias 0x15 a 0x17 (Bulldozer a Zen 2) e Hygon familia 0x18, un atacante puede explotar instrucciones de retorno para redirigir la ejecución especulativa y filtrar memoria del kernel, evitando las mitigaciones de retpoline que eran efectivas contra Spectre V2. A diferencia de Spectre V2, que se dirige a saltos y llamadas indirectos, Retbleed se dirige específicamente a instrucciones de retorno, que antes se consideraban seguras. La mitigación requiere una actualización del kernel que proporcione el ret thunk no entrenado (RET seguro) o el mecanismo IBPB-on-entry, más una actualización de microcódigo que proporcione soporte IBPB en Zen 1/2. En Zen 1/2, se debe deshabilitar SMT para protección completa cuando se usa mitigación basada en IBPB. El impacto en el rendimiento es medio.

CVE-2022-29901 — Ejecución especulativa arbitraria de código con instrucciones de retorno (Retbleed Intel, RSBA)

En Intel Skylake a Rocket Lake con Comportamiento Alternativo de RSB (RSBA), las instrucciones de retorno pueden ser redirigidas especulativamente a través del Búfer de Objetivos de Salto cuando el Búfer de Pila de Retorno se desborda, evitando las mitigaciones de retpoline. La mitigación requiere IBRS Mejorado (eIBRS, mediante actualización de microcódigo) o un kernel compilado con soporte IBRS-on-entry (Linux 5.19+). El seguimiento de profundidad de llamada (stuffing) es una mitigación alternativa disponible desde Linux 6.2+. El retpoline simple NO mitiga esta vulnerabilidad en CPUs capaces de RSBA. El impacto en el rendimiento es medio a alto.

**CVE-2022-40982 — Muestreo de datos de recolección (GDS, Downfall)**Las instrucciones AVX GATHER pueden filtrar datos de registros vectoriales previamente utilizados a través de límites de privilegio mediante el búfer compartido de datos de recopilación. Esto afecta a cualquier software que use AVX2 o AVX-512 en procesadores Intel vulnerables. La mitigación se proporciona mediante una actualización de microcódigo que limpia el búfer de recopilación, o alternativamente desactivando completamente la función AVX. El impacto en el rendimiento es insignificante para la mayoría de las cargas de trabajo, pero puede ser significativo (hasta un 50 %) para aplicaciones con uso intensivo de AVX, como HPC e inferencia de IA.

CVE-2023-20569 — Seguridad de la dirección de retorno (Inception, SRSO)

En procesadores AMD Zen 1 a Zen 4, un atacante puede manipular el predictor de dirección de retorno para redirigir la ejecución especulativa en instrucciones de retorno, filtrando memoria del kernel. La mitigación requiere tanto una actualización del kernel (que proporciona secuencias seguras de retorno SRSO o IBPB al entrar) como una actualización de microcódigo (que proporciona SBPB en Zen 3/4, o soporte IBPB en Zen 1/2, lo que adicionalmente requiere que SMT esté deshabilitado). El impacto en el rendimiento varía de bajo a significativo dependiendo de la mitigación elegida y la generación de la CPU.

CVE-2023-20588 — Fuga de datos especulativos por división entre cero de AMD (DIV0)

En procesadores AMD Zen 1, una excepción #DE (división entre cero) puede dejar datos de cociente obsoletos de una división anterior en la unidad divisora, observables por una división posterior a través de canales secundarios especulativos. Esto puede filtrar datos a través de cualquier límite de privilegio, incluso entre hilos hermanos SMT que comparten el mismo núcleo físico. La mitigación requiere una actualización del kernel (Linux 6.5+) que agrega una división ficticia (amd_clear_divider()) en cada salida al espacio de usuario y antes de VMRUN, evitando que persistan datos obsoletos. No se necesita actualización de microcódigo. Deshabilitar SMT proporciona protección adicional porque la mitigación del kernel no cubre las fugas entre hilos SMT. El impacto en el rendimiento es insignificante.

CVE-2023-20593 — Fuga de información entre procesos (Zenbleed)

Un error en procesadores AMD Zen 2 hace que la instrucción VZEROUPPER ponga a cero incorrectamente los archivos de registro durante la ejecución especulativa, dejando datos obsoletos de otros procesos observables en registros vectoriales. Esto puede filtrar datos a través de cualquier límite de privilegio, incluso desde el kernel y otros procesos, a velocidades de hasta 30 KB/s por núcleo. La mitigación está disponible ya sea mediante una actualización de microcódigo que corrige el error, o mediante una solución alternativa del kernel que establece el bit FP_BACKUP_FIX (bit 9) en el MSR DE_CFG, desactivando la optimización defectuosa. Cualquier enfoque por sí solo es suficiente. El impacto en el rendimiento es insignificante.

CVE-2023-23583 — Problema de prefijo redundante (Reptar)

Un error en procesadores Intel causa un comportamiento inesperado al ejecutar instrucciones con prefijos REX redundantes específicos. Dependiendo de las circunstancias, esto puede resultar en un bloqueo del sistema (MCE), comportamiento impredecible o potencialmente escalada de privilegios. Cualquier software que se ejecute en una CPU afectada puede desencadenar el error. La mitigación requiere una actualización de microcódigo. El impacto en el rendimiento es bajo.

CVE-2023-28746 — Muestreo de datos del archivo de registro (RFDS)

En ciertos procesadores Intel Atom e híbridos (Goldmont, Goldmont Plus, Tremont, Gracemont y los núcleos Atom de Alder Lake y Raptor Lake), el archivo de registro puede retener datos obsoletos de operaciones anteriores que son accesibles mediante ejecución especulativa, permitiendo a un atacante inferir datos a través de límites de privilegio. La mitigación requiere tanto una actualización de microcódigo (que proporciona la capacidad RFDS_CLEAR) como una actualización del kernel (CONFIG_MITIGATION_RFDS, Linux 6.9+) que usa la instrucción VERW para limpiar el archivo de registro en las transiciones de privilegio. Las CPU con el bit de capacidad RFDS_NO no están afectadas. El impacto en el rendimiento es bajo.

CVE-2024-28956 — Selección de destino indirecto (ITS)

En ciertos procesadores Intel (Skylake-X stepping 6+, Kaby Lake, Comet Lake, Ice Lake, Tiger Lake, Rocket Lake), un atacante puede entrenar el predictor de rama indirecta para ejecutar especulativamente un gadget dirigido en el kernel, evitando las protecciones eIBRS. El Búfer de Destino de Rama (BTB) usa solo direcciones parciales para indexar destinos de rama indirecta, permitiendo que el código de espacio de usuario influya en la ejecución especulativa del espacio del kernel. Algunas CPU afectadas (Ice Lake, Tiger Lake, Rocket Lake) solo son vulnerables a ataques nativos de usuario a kernel, no a ataques de invitado a anfitrión (VMX). La mitigación requiere tanto una actualización de microcódigo (IPU 2025.1 / microcode-20250512+, que corrige IBPB para vaciar completamente las predicciones de rama indirecta) como una actualización del kernel (CONFIG_MITIGATION_ITS, Linux 6.15+) que alinea los thunks de rama/retorno o usa RSB stuffing. El impacto en el rendimiento es bajo.

CVE-2024-36350 — Ataque de programador transitorio, Cola de almacenamiento (TSA-SQ)

En procesadores AMD Zen 3 y Zen 4, el programador transitorio de la CPU puede recuperar especulativamente datos obsoletos de la cola de almacenamiento durante ciertas ventanas de tiempo, permitiendo a un atacante inferir datos de operaciones de almacenamiento anteriores a través de límites de privilegio. El ataque también puede filtrar datos entre hilos hermanos SMT. La mitigación requiere tanto una actualización de microcódigo (que expone la capacidad VERW_CLEAR) como una actualización del kernel (CONFIG_MITIGATION_TSA, Linux 6.16+) que usa la instrucción VERW para limpiar los búferes de la CPU en transiciones de usuario/kernel y antes de VMRUN. El kernel también limpia los búferes en inactividad cuando SMT está activo. El impacto en el rendimiento es de bajo a medio.

CVE-2024-36357 — Ataque de programador transitorio, L1 (TSA-L1)

En procesadores AMD Zen 3 y Zen 4, el programador transitorio de la CPU puede recuperar especulativamente datos obsoletos de la caché de datos L1 durante ciertas ventanas de tiempo, permitiendo a un atacante inferir datos en la caché L1D a través de límites de privilegio. La mitigación requiere las mismas actualizaciones de microcódigo y kernel que TSA-SQ: una actualización de microcódigo que expone VERW_CLEAR y una actualización del kernel (CONFIG_MITIGATION_TSA, Linux 6.16+) que limpia los búferes de la CPU mediante VERW en las transiciones de privilegio. El impacto en el rendimiento es de bajo a medio.

CVE-2025-40300 — Predicción de rama obsoleta en salida de VM (VMScape)

Después de que una VM invitada sale al anfitrión, las predicciones de rama obsoletas del invitado pueden influir en la ejecución especulativa del lado del anfitrión antes de que el kernel regrese al espacio de usuario, permitiendo a un atacante local filtrar memoria del kernel del anfitrión. Esto afecta a procesadores Intel desde Sandy Bridge hasta Arrow Lake/Lunar Lake, familias AMD Zen 1 a Zen 5 y la familia Hygon 0x18. Solo los sistemas que ejecutan un hipervisor con invitados no confiables están en riesgo. La mitigación requiere una actualización del kernel (CONFIG_MITIGATION_VMSCAPE, Linux 6.18+) que emite IBPB antes de regresar al espacio de usuario después de una salida de VM. No se requiere una actualización de microcódigo específica más allá del soporte IBPB existente. El impacto en el rendimiento es bajo.

CVE-2024-45332 — Inyección de privilegio de rama (BPI)

Una condición de carrera en el mecanismo de actualización del predictor de rama de procesadores Intel (Coffee Lake a Raptor Lake, más algunas partes de servidor y Atom) permite que las predicciones de rama del espacio de usuario influyan brevemente en la ejecución especulativa del espacio del kernel, socavando las protecciones eIBRS e IBPB. Esto significa que los sistemas que dependen únicamente de eIBRS para la mitigación de Spectre V2 pueden no estar completamente protegidos sin la corrección de microcódigo. La mitigación requiere una actualización de microcódigo (intel-microcode 20250512+) que corrige la sincronización asíncrona de la actualización del predictor de rama para que eIBRS e IBPB funcionen como se pretendía originalmente. No se requieren cambios en el kernel. El impacto en el rendimiento es insignificante.

CVE-2025-54505 — Fuga de datos obsoletos del divisor de punto flotante AMD Zen1 (FPDSS)

En procesadores AMD Zen1 y Zen+ (EPYC 7001, EPYC Embedded 3000, Athlon 3000 con Radeon, Ryzen 3000 con Radeon, Ryzen PRO 3000 con Radeon Vega), el divisor de punto flotante por hardware puede retener datos de cociente parcial de operaciones anteriores. Bajo ciertas circunstancias, esos resultados pueden filtrarse a otro hilo que comparte el mismo divisor, cruzando cualquier límite de privilegio. Esto fue asignado como CVE-2025-54505 y publicado por AMD como AMD-SB-7053 el 2026-04-17. La mitigación requiere una actualización del kernel (commit principal e55d98e77561, "x86/CPU: Fix FPDSS on Zen1", Linux 7.1) que establece el bit 9 (ZEN1_DENORM_FIX_BIT) del MSR 0xc0011028 (MSR_AMD64_FP_CFG) de forma incondicional en cada CPU Zen1 al arrancar, desactivando la optimización de hardware responsable de la fuga. No se requiere actualización de microcódigo: el bit de mitigación está presente en el silicio Zen1 de fábrica y es independiente de la revisión del microcódigo. El impacto en el rendimiento se limita a una pequeña reducción en el rendimiento de la división de punto flotante, razón por la cual AMD no habilita el bit por defecto en hardware.

CVEs no soportados

Varios CVEs de ejecución transitoria no están cubiertos por esta herramienta, por varias razones (duplicados, solo afectan a hardware o SO no soportado, teóricos sin explotación conocida, etc.). La lista completa junto con la razón de cada exclusión está disponible en el archivo UNSUPPORTED_CVE_LIST.md.

Alcance

Sistemas operativos soportados:

  • Linux (todas las versiones, variantes y distribuciones)
  • FreeBSD, NetBSD, DragonFlyBSD y derivados (otros BSD no están soportados)

Para sistemas Linux, la herramienta detectará mitigaciones, incluyendo parches no estándar retroportados, independientemente del número de versión del kernel anunciado y la distribución (como Debian, Ubuntu, CentOS, RHEL, Fedora, openSUSE, Arch, ...), también funciona si has compilado tu propio kernel. Más información aquí.

Otros sistemas operativos como MacOS, Windows, ESXi, etc. nunca serán soportados.

Arquitecturas soportadas:

  • x86 (32 bits)
  • amd64/x86_64 (64 bits)
  • ARM y ARM64
  • otras arquitecturas funcionarán, pero las mitigaciones (si existen) puede que no siempre se detecten

Preguntas Frecuentes (FAQ)

¿Cuál es el propósito de esta herramienta? ¿Por qué fue escrita? ¿Cómo puede serme útil? ¿Cómo funciona? ¿Qué puedo esperar de ella?

Todas estas preguntas (y más) tienen respuestas detalladas en la FAQ, ¡por favor échales un vistazo!

Modos de funcionamiento

El script soporta cuatro modos de funcionamiento, dependiendo de si desea inspeccionar el kernel en ejecución, una imagen de kernel, el hardware de la CPU, o una combinación.

ModoBanderaHardware de CPUKernel en ejecuciónImagen de kernelCaso de uso
En vivo (predeterminado)(ninguna)SíSíauto-detecciónAuditoría diaria del sistema actual
Sin ejecución--no-runtimeSíNorequeridaVerificar un kernel diferente contra esta CPU (ej. pre-implementación)
Sin hardware--no-hwNoNorequeridaAnálisis estático puro de una imagen de kernel para otro sistema o arquitectura
Solo hardware--hw-onlySíNoNoVerificar rápidamente la afectación de la CPU sin inspeccionar ningún kernel

En modo En vivo (el predeterminado), el script inspecciona tanto la CPU como el kernel en ejecución. Opcionalmente puede pasar --kernel, --config o --map para indicar al script archivos que no pudo detectar automáticamente.

En modo Sin ejecución, el script aún lee la CPU local (CPUID, MSRs, microcódigo) pero omite todos los artefactos del kernel en ejecución (/sys, /proc, dmesg). Use esto cuando tenga una imagen de kernel de otro sistema pero quiera evaluarla contra la CPU actual.

En modo Sin hardware, tanto la inspección de la CPU como los artefactos del kernel en ejecución se omiten por completo. Esto es útil para análisis entre arquitecturas, por ejemplo inspeccionar una imagen de kernel ARM en una estación de trabajo x86.

En modo Solo hardware, el script solo informa información de la CPU y la afectación por hardware de cada CVE, sin inspeccionar ningún kernel.

Ejecución del script

Forma directa (recomendada)

  • Obtenga la última versión del script usando curl o wget

    root@kitploit:~
    curl -L https://meltdown.ovh -o spectre-meltdown-checker.sh
    wget https://meltdown.ovh -O spectre-meltdown-checker.sh
    
  • Inspeccione el script. Nunca ejecuta ciegamente scripts que descargó de Internet, ¿verdad?

    root@kitploit:~
    vim spectre-meltdown-checker.sh
    
  • Cuando esté listo, ejecute el script como root

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

Usando un contenedor docker

Desplegar para instrucciones

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

root@kitploit:~
Tenga en cuenta que en versiones antiguas de docker, `docker-compose` es un comando separado, por lo que es posible que deba reemplazar las dos apariciones de `docker compose` anteriores por `docker-compose`.

Usando `docker build` directamente:```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

Ejemplo de salida del script

  • AMD EPYC-Milan ejecutándose bajo Debian Trixie

texto alternativo

Descargar herramienta
CVE-2018-12207 (iTLB Multihit, No eXcuses)
✅
✅
☠️
✅
Actualización del hipervisor (o deshabilitar hugepages)
CVE-2019-11091 (MDSUM, RIDL)💥💥 (1)💥💥 (1)Microcódigo + actualización del kernel
CVE-2019-11135 (TAA, ZombieLoad V2)💥💥 (1)💥💥 (1)Microcódigo + actualización del kernel
CVE-2020-0543 (SRBDS, CROSSTalk)💥 (2)💥 (2)💥 (2)💥 (2)Microcódigo + actualización del kernel
CVE-2022-21123 (SBDR, MMIO Stale Data)💥💥 (1)💥💥 (1)Microcódigo + actualización del kernel
CVE-2022-21125 (SBDS, MMIO Stale Data)💥💥 (1)💥💥 (1)Microcódigo + actualización del kernel
CVE-2022-21166 (DRPW, MMIO Stale Data)💥💥 (1)💥💥 (1)Microcódigo + actualización del kernel
CVE-2022-29900 (Retbleed AMD)💥✅💥✅Actualización del kernel (+ microcódigo para IBPB)
CVE-2022-29901 (Retbleed Intel, RSBA)💥✅💥✅Microcódigo + actualización del kernel (eIBRS o IBRS)
CVE-2022-40982 (Downfall, GDS)💥💥💥💥Actualización de microcódigo (o deshabilitar AVX)
CVE-2023-20569 (Inception, SRSO)💥✅💥✅Microcódigo + actualización del kernel
CVE-2023-20588 (DIV0)💥💥 (1)💥💥 (1)Actualización del kernel (+ deshabilitar SMT)
CVE-2023-20593 (Zenbleed)💥💥💥💥Actualización de microcódigo (o workaround del kernel)
CVE-2023-23583 (Reptar)☠️☠️☠️☠️Actualización de microcódigo
CVE-2023-28746 (RFDS)💥✅💥✅Microcódigo + actualización del kernel
CVE-2024-28956 (ITS)💥✅💥 (4)✅Microcódigo + actualización del kernel
CVE-2024-36350 (TSA-SQ)💥💥 (1)💥💥 (1)Microcódigo + actualización del kernel
CVE-2024-36357 (TSA-L1)💥💥 (1)💥💥 (1)Microcódigo + actualización del kernel
CVE-2025-40300 (VMScape)✅✅💥✅Actualización del kernel (IBPB en VM-exit)
CVE-2024-45332 (BPI)💥✅💥✅Actualización de microcódigo
CVE-2025-54505 (FPDSS)💥💥💥💥Actualización del kernel