Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
spectre-meltdown-checker — Verificador de vulnerabilidade/mitigação para Reptar, Downfall, Zenbleed, ZombieLoad, RIDL, Fallout, Foreshadow, Spectre, Meltdown para Linux & BSD | Kitploit
Ferramentas/GitHubGitHub/speed47/spectre-meltdown-checker
Ferramentas DefensivasReconhecimentoScanners de VulnerabilidadesAnálise de VulnerabilidadesColeta de InformaçõesSegurança de HardwareSegurança de Hardware e IoTAprendizado e Educação

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
GitHub
speed47/spectre-meltdown-checker

spectre-meltdown-checker

Verificador de vulnerabilidade/mitigação para Reptar, Downfall, Zenbleed, ZombieLoad, RIDL, Fallout, Foreshadow, Spectre, Meltdown para Linux & BSD

Ver Repositório
3.9k4717há 1 mêsRevisado pelo Kitploit
Compartilhar

Spectre & Meltdown Checker

Um script shell autossuficiente para avaliar a resiliência do seu sistema contra as várias CVEs de execução transiente publicadas desde o início de 2018, e orientá-lo sobre como mitigá-las.

Lista de CVEs

CVENomeAliases
CVE-2017-5753Contorno de Verificação de LimiteSpectre V1
CVE-2017-5715Injeção de Alvo de DesvioSpectre V2
CVE-2017-5754Carga de Cache de Dados DesonestaMeltdown
CVE-2018-3640Leitura de Registro do Sistema DesonestaVariante 3a
CVE-2018-3639Desvio Especulativo de ArmazenamentoVariante 4, SSB
CVE-2018-3615Falha de Terminal L1Foreshadow (SGX)
CVE-2018-3620Falha de Terminal L1Foreshadow-NG (OS/SMM)
CVE-2018-3646Falha de Terminal L1Foreshadow-NG (VMM)
CVE-2018-12126Amostragem de Dados do Buffer de Armazenamento MicroarquiteturalMSBDS, Fallout
CVE-2018-12127Amostragem de Dados da Porta de Carga MicroarquiteturalMLPDS, RIDL
CVE-2018-12130Amostragem de Dados do Buffer de Preenchimento MicroarquiteturalMFBDS, ZombieLoad
CVE-2018-12207Exceção de Verificação de Máquina em Alterações de Tamanho de PáginaiTLB Multihit, No eXcuses
CVE-2019-11091Amostragem de Dados Microarquiteturais de Memória Não-CacheávelMDSUM, RIDL
CVE-2019-11135Abandono Assíncrono TSXTAA, ZombieLoad V2
CVE-2020-0543Amostragem de Dados do Buffer de Registro EspecialSRBDS, CROSSTalk
CVE-2022-21123Leitura de Dados de Buffers CompartilhadosSBDR, MMIO Stale Data
CVE-2022-21125Amostragem de Dados de Buffers CompartilhadosSBDS, MMIO Stale Data
CVE-2022-21166Gravação Parcial de Registro de DispositivoDRPW, MMIO Stale Data
CVE-2022-29900Execução de Código Especulativo Arbitrário com Instruções de RetornoRetbleed (AMD)
CVE-2022-29901Execução de Código Especulativo Arbitrário com Instruções de RetornoRetbleed (Intel), RSBA
CVE-2022-40982Amostragem de Dados GatherDownfall, GDS
CVE-2023-20569Segurança de Endereço de RetornoInception, SRSO
CVE-2023-20588Vazamento de Dados Especulativo por Divisão por Zero AMDDIV0
CVE-2023-20593Vazamento de Informações Entre ProcessosZenbleed
CVE-2023-23583Problema de Prefixo RedundanteReptar
CVE-2023-28746Amostragem de Dados do Arquivo de RegistroRFDS
CVE-2024-28956Seleção Indireta de AlvoITS
CVE-2024-36350Ataque de Escalonador Transiente, Fila de ArmazenamentoTSA-SQ
CVE-2024-36357Ataque de Escalonador Transiente, L1TSA-L1
CVE-2025-40300Predição de Desvio Estagnada em Saída de VMVMScape
CVE-2024-45332Injeção de Privilégio de DesvioBPI
CVE-2025-54505Vazamento de Dados Estagnados do Divisor de Ponto Flutuante AMD Zen1FPDSS

As seguintes entradas são errata de silício ARM64 que o kernel contorna ativamente. Elas não têm CVE atribuída; são rastreadas apenas pelos números de errata da ARM. Selecione-as com --errata <número> ou o mnemônico --variant associado.

IDNomeNúcleos afetados
CVE-0001-0001Corrupção de TLB AT Especulativa (errata 1165522, 1319367, 1319537, 1530923)Cortex-A55/A57/A72/A76
CVE-0001-0002Carga não privilegiada especulativa (errata 2966298, 3117295)Cortex-A510/A520
CVE-0001-0003MSR SSBS não auto-sincronizante (errata 3194386 + irmãos)Cortex-A76/A77/A78/A78C/A710/A715/A720/A720AE/A725, X1/X1C/X2/X3/X4/X925, Neoverse-N1/N2/N3/V1/V2/V3/V3AE

Estou em risco?

Dependendo da sua situação, a tabela abaixo responde se um atacante em uma determinada posição pode extrair dados de um determinado alvo. A coluna "Userland → Kernel" também se aplica dentro de uma VM (userland da VM vs. kernel da VM), pois os mesmos mecanismos de CPU estão em jogo independentemente da virtualização.

VulnerabilidadeUserland → KernelUserland → UserlandVM → HostVM → VMMitigação
CVE-2017-5753 (Spectre V1)💥💥💥💥Recompilar tudo com LFENCE
CVE-2017-5715 (Spectre V2)💥💥💥💥Microcódigo + atualização de kernel (ou retpoline)
CVE-2017-5754 (Meltdown)💥✅✅✅Atualização de kernel
CVE-2018-3640 (Variante 3a)💥✅✅✅Atualização de microcódigo
CVE-2018-3639 (Variante 4, SSB)✅💥✅✅Microcódigo + atualização de kernel
CVE-2018-3615 (Foreshadow, SGX)✅ (3)✅ (3)✅ (3)✅ (3)Atualização de microcódigo
CVE-2018-3620 (Foreshadow-NG, OS/SMM)💥✅✅✅Atualização de kernel
CVE-2018-3646 (Foreshadow-NG, VMM)✅✅💥💥Atualização de kernel (ou desabilitar EPT/SMT)
CVE-2018-12126 (MSBDS, Fallout)💥💥 (1)💥💥 (1)Microcódigo + atualização de kernel
CVE-2018-12127 (MLPDS, RIDL)💥💥 (1)💥💥 (1)Microcódigo + atualização de kernel
CVE-2018-12130 (MFBDS, ZombieLoad)💥💥 (1)💥💥 (1)Microcódigo + atualização de kernel
CVE-2018-12207 (iTLB Multihit, No eXcuses)

💥 Dados podem ser vazados através desta fronteira.

✅ Não afetado neste cenário.

☠️ Negação de serviço (travamento do sistema ou comportamento imprevisível), sem vazamento de dados.

(1) O vazamento entre processos requer que SMT (Hyper-Threading) esteja ativo — atacante e vítima devem compartilhar um núcleo físico.

(2) Apenas vaza a saída de RDRAND/RDSEED, não memória arbitrária; ainda assim permite recuperar material criptográfico de qualquer vítima.

(3) CVE-2018-3615 (Foreshadow SGX) inverte o modelo de confiança normal: o SO lê dados de enclaves SGX. É irrelevante a menos que o sistema execute enclaves SGX, e o atacante já deve ter acesso ao nível de SO.

(4) O vazamento VM→Host se aplica apenas a certos modelos de CPU afetados (Skylake-X, Kaby Lake, Comet Lake). Ice Lake, Tiger Lake e Rocket Lake são afetados apenas para ataques nativos (usuário para kernel), não de convidado para anfitrião.

Descrições detalhadas das CVEs

Expandir para descrições mais detalhadas das CVEs

CVE-2017-5753 — Contorno de Verificação de Limite (Spectre Variante 1)

Um atacante pode treinar o preditor de desvios para prever incorretamente uma verificação de limite, fazendo com que a CPU acesse especulativamente memória fora dos limites. Isso afeta todo software, incluindo o kernel, porque qualquer verificação condicional de limite pode ser potencialmente explorada. A mitigação exige recompilar software e o kernel com um compilador que insira instruções LFENCE (ou barreiras de especulação equivalentes, como array_index_nospec) nas posições adequadas. O impacto no desempenho é desprezível porque as barreiras se aplicam apenas a padrões de código específicos e direcionados.

CVE-2017-5715 — Injeção de Alvo de Desvio (Spectre Variante 2)

Um atacante pode envenenar o Buffer de Alvos de Desvio (BTB) para redirecionar a execução especulativa de desvios indiretos no kernel, vazando memória do kernel. Duas estratégias de mitigação existem: (1) atualizações de microcódigo que fornecem IBRS (Indirect Branch Restricted Speculation), que limpa o estado do preditor de desvios nas transições de privilégio — isso tem um custo de desempenho médio a alto, especialmente em hardware mais antigo; ou (2) retpoline, uma técnica de compilador que substitui desvios indiretos por uma construção que o especulador não pode explorar — isso tem um custo de desempenho menor, mas exige recompilar o kernel e software sensível.

CVE-2017-5754 — Carga de Cache de Dados Desonesta (Meltdown)

Em processadores Intel afetados, um processo de usuário pode ler especulativamente a memória do kernel apesar de não ter permissão. A CPU eventualmente gera uma falha, mas os dados deixam vestígios observáveis no cache. A mitigação é inteiramente do lado do kernel: Isolamento de Tabela de Páginas (PTI/KPTI) desmapeia a maior parte da memória do kernel das tabelas de páginas do espaço de usuário, então não há nada para ler especulativamente. O impacto no desempenho é baixo a médio, principalmente devido ao aumento da pressão na TLB causada pela troca de tabelas de páginas em cada entrada e saída do kernel.

CVE-2018-3640 — Leitura de Registro do Sistema Desonesta (Variante 3a)

Semelhante ao Meltdown, mas direcionado a registros do sistema: um processo não privilegiado pode ler especulativamente valores de registros privilegiados do sistema (como Registros Específicos do Modelo) e exfiltrá-los através de um canal lateral. A mitigação exige apenas uma atualização de microcódigo — nenhuma alteração no kernel é necessária. O impacto no desempenho é desprezível.

CVE-2018-3639 — Desvio Especulativo de Armazenamento (Variante 4)

A CPU pode carregar especulativamente um valor da memória antes que um armazenamento anterior para o mesmo endereço seja concluído, lendo dados obsoletos. Isso afeta principalmente software que usa compilação JIT (por exemplo, mecanismos JavaScript, eBPF), onde um atacante pode criar código que explora a dependência de armazenamento para carga. Não foi demonstrada exploração conhecida contra o próprio kernel. A mitigação exige uma atualização de microcódigo (fornecendo o mecanismo SSBD) mais uma atualização de kernel que permite que o software afetado opte pela proteção via prctl(). O impacto no desempenho é baixo a médio, dependendo da frequência com que a mitigação é ativada.

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

O ataque Foreshadow original visa enclaves Intel SGX. Quando o bit Presente de uma entrada de tabela de páginas é limpo, a CPU ainda pode usar especulativamente o endereço físico na entrada para buscar dados do cache L1, contornando as proteções SGX. Um atacante pode extrair segredos (chaves de atestado, dados selados) de enclaves SGX. A mitigação exige uma atualização de microcódigo que inclui modificações no comportamento SGX. O impacto no desempenho é desprezível.

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

Uma generalização do Foreshadow além do SGX: código de espaço de usuário não privilegiado pode explorar o mesmo mecanismo L1TF para ler memória do kernel ou memória do Modo de Gerenciamento do Sistema (SMM). A mitigação exige uma atualização de kernel que implementa inversão de PTE — marcando entradas de tabela de páginas não presentes com endereços físicos inválidos para que o cache L1 não possa conter dados úteis nesses endereços. O impacto no desempenho é desprezível porque a inversão de PTE é uma alteração única na lógica de gerenciamento de tabela de páginas sem sobrecarga em tempo de execução.

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

Uma VM convidada pode explorar L1TF para ler memória pertencente ao anfitrião ou a outros convidados, porque as tabelas de páginas do hipervisor podem ter entradas não presentes apontando para endereços físicos válidos do anfitrião ainda residentes no L1. As opções de mitigação incluem: limpar o cache de dados L1 em cada entrada de VM (através de uma atualização de kernel que fornece suporte a limpeza de L1d), desabilitar Tabelas de Páginas Estendidas (EPT) ou desabilitar Hyper-Threading (SMT) para evitar que uma thread irmã reabasteça o cache L1 durante a especulação. O impacto no desempenho varia de baixo a significativo dependendo da mitigação escolhida, sendo a limpeza de L1d na entrada de VM a mais prática, mas ainda mensurável em cargas de trabalho pesadas em VM.

CVE-2018-12126 — Amostragem de Dados do Buffer de Armazenamento Microarquitetural (MSBDS, Fallout)

CVE-2018-12127 — Amostragem de Dados da Porta de Carga Microarquitetural (MLPDS, RIDL)

CVE-2018-12130 — Amostragem de Dados do Buffer de Preenchimento Microarquitetural (MFBDS, ZombieLoad)

CVE-2019-11091 — Amostragem de Dados Microarquiteturais de Memória Não-Cacheável (MDSUM, RIDL)

Estas quatro CVEs são coletivamente conhecidas como vulnerabilidades "MDS" (Microarchitectural Data Sampling). Elas exploram diferentes buffers internos da CPU — buffer de armazenamento, buffer de preenchimento, portas de carga e caminhos de memória não-cacheável — que podem vazar dados recentemente acessados através de fronteiras de privilégio durante a execução especulativa. Um atacante não privilegiado pode observar dados processados recentemente pelo kernel ou por outros processos. A mitigação exige uma atualização de microcódigo (fornecendo o mecanismo MD_CLEAR) mais uma atualização de kernel que usa VERW para limpar buffers afetados nas transições de privilégio. Desabilitar Hyper-Threading (SMT) fornece proteção adicional porque threads irmãs compartilham esses buffers. O impacto no desempenho é baixo a significativo, dependendo da frequência das transições de kernel e se SMT está desabilitado.

CVE-2018-12207 — Exceção de Verificação de Máquina em Alterações de Tamanho de Página (iTLB Multihit, No eXcuses)

Uma VM convidada maliciosa pode acionar uma exceção de verificação de máquina (MCE) — travando todo o anfitrião — criando condições específicas na TLB de instruções envolvendo alterações de tamanho de página. Esta é uma vulnerabilidade de negação de serviço que afeta hipervisores que executam convidados não confiáveis. A mitigação exige desabilitar o uso de hugepages no hipervisor ou atualizar o hipervisor para evitar as configurações problemáticas de iTLB. O impacto no desempenho varia de baixo a significativo dependendo da abordagem: desabilitar hugepages pode impactar substancialmente cargas de trabalho intensivas em memória.

CVE-2019-11135 — Abandono Assíncrono TSX (TAA, ZombieLoad V2)

Em CPUs com Intel TSX, um abandono transacional pode deixar dados dos buffers de preenchimento de linha em um estado observável através de canais laterais, semelhante às vulnerabilidades MDS, mas acionado através de TSX. A mitigação exige uma atualização de microcódigo mais suporte de kernel para limpar buffers afetados ou desabilitar TSX completamente (via MSR TSX_CTRL). O impacto no desempenho é baixo a significativo, semelhante ao MDS, com a opção de eliminar completamente a superfície de ataque desabilitando TSX ao custo de perder suporte a memória transacional.

CVE-2020-0543 — Amostragem de Dados do Buffer de Registro Especial (SRBDS, CROSSTalk)

Certas instruções especiais da CPU (RDRAND, RDSEED, EGETKEY) leem dados através de um buffer de preparação compartilhado que é acessível em todos os núcleos através de execução especulativa. Um atacante executando código em qualquer núcleo pode observar a saída dessas instruções de uma vítima em um núcleo diferente, incluindo extrair chaves criptográficas de enclaves SGX (uma chave ECDSA completa foi demonstrada). Isso é notável como um dos primeiros ataques de execução especulativa entre núcleos. A mitigação exige uma atualização de microcódigo que serializa o acesso ao buffer de preparação, mais uma atualização de kernel para gerenciar a mitigação. O impacto no desempenho é baixo, afetando principalmente cargas de trabalho que usam intensivamente RDRAND/RDSEED.

CVE-2022-21123, CVE-2022-21125, CVE-2022-21166 — Dados Obsoletos de MMIO do Processador (SBDR, SBDS, DRPW)

Uma classe de vulnerabilidades de MMIO (Memory-Mapped I/O) onde dados obsoletos de buffers internos de preenchimento da CPU podem ser inferidos através de ataques de canal lateral durante operações MMIO. Três subvulnerabilidades são cobertas: Leitura de Dados de Buffers Compartilhados (SBDR, CVE-2022-21123), Amostragem de Dados de Buffers Compartilhados (SBDS, CVE-2022-21125) e Gravação Parcial de Registro de Dispositivo (DRPW, CVE-2022-21166). CPUs Intel afetadas incluem processadores de servidor e cliente Haswell a Rocket Lake, mais núcleos Atom Tremont. A mitigação exige uma atualização de microcódigo que fornece a capacidade FB_CLEAR (instrução VERW limpa buffers de preenchimento) mais uma atualização de kernel (Linux 5.19+) que invoca VERW nas transições kernel/usuário e entrada/saída de VM. Quando SMT está habilitado, threads irmãs ainda podem explorar a vulnerabilidade mesmo com mitigações ativas. O impacto no desempenho é baixo, pois o mecanismo VERW é compartilhado com a mitigação MDS existente.

CVE-2022-29900 — Execução de Código Especulativo Arbitrário com Instruções de Retorno (Retbleed AMD)

Em processadores AMD das famílias 0x15 a 0x17 (Bulldozer a Zen 2) e Hygon família 0x18, um atacante pode explorar instruções de retorno para redirecionar a execução especulativa e vazar memória do kernel, contornando mitigações retpoline que eram eficazes contra Spectre V2. Ao contrário do Spectre V2 que visa saltos e chamadas indiretas, o Retbleed tem como alvo especificamente instruções de retorno, que anteriormente eram consideradas seguras. A mitigação exige uma atualização de kernel fornecendo o thunk de retorno não treinado (RET seguro) ou o mecanismo IBPB-na-entrada, mais uma atualização de microcódigo fornecendo suporte IBPB no Zen 1/2. No Zen 1/2, o SMT deve ser desabilitado para proteção total ao usar mitigação baseada em IBPB. O impacto no desempenho é médio.

CVE-2022-29901 — Execução de Código Especulativo Arbitrário com Instruções de Retorno (Retbleed Intel, RSBA)

Em processadores Intel Skylake a Rocket Lake com Comportamento Alternativo de RSB (RSBA), instruções de retorno podem ser redirecionadas especulativamente através do Buffer de Alvos de Desvio quando a Pilha de Retorno (RSB) está sub-representada, contornando mitigações retpoline. A mitigação exige IBRS Aprimorado (eIBRS, através de atualização de microcódigo) ou um kernel compilado com suporte IBRS-na-entrada (Linux 5.19+). O rastreamento de profundidade de chamada (stuffing) é uma mitigação alternativa disponível a partir do Linux 6.2+. Retpoline simples NÃO mitiga esta vulnerabilidade em CPUs com capacidade RSBA. O impacto no desempenho é médio a alto.

**CVE-2022-40982 — Amostragem de Dados Gather (GDS, Downfall)**As instruções AVX GATHER podem vazar dados de registradores vetoriais usados anteriormente através de limites de privilégio por meio do buffer de dados gather compartilhado. Isso afeta qualquer software que use AVX2 ou AVX-512 em processadores Intel vulneráveis. A mitigação é fornecida por uma atualização de microcódigo que limpa o buffer gather, ou alternativamente desabilitando completamente o recurso AVX. O impacto no desempenho é insignificante para a maioria das cargas de trabalho, mas pode ser significativo (até 50%) para aplicações pesadas em AVX, como HPC e inferência de IA.

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

Em processadores AMD Zen 1 a Zen 4, um atacante pode manipular o preditor de endereço de retorno para redirecionar a execução especulativa em instruções de retorno, vazando memória do kernel. A mitigação requer tanto uma atualização do kernel (fornecendo sequências seguras de retorno SRSO ou IBPB na entrada) quanto uma atualização de microcódigo (fornecendo SBPB no Zen 3/4, ou suporte a IBPB no Zen 1/2 — que adicionalmente requer que o SMT seja desabilitado). O impacto no desempenho varia de baixo a significativo dependendo da mitigação escolhida e da geração da CPU.

CVE-2023-20588 — AMD Division by Zero Speculative Data Leak (DIV0)

Em processadores AMD Zen 1, uma exceção #DE (divisão por zero) pode deixar dados de quociente obsoletos de uma divisão anterior na unidade divisora, observáveis por uma divisão subsequente por meio de canais laterais especulativos. Isso pode vazar dados através de qualquer limite de privilégio, incluindo entre threads irmãos SMT que compartilham o mesmo núcleo físico. A mitigação requer uma atualização do kernel (Linux 6.5+) que adiciona uma divisão fictícia (amd_clear_divider()) em cada saída para o espaço do usuário e antes do VMRUN, impedindo que dados obsoletos persistam. Nenhuma atualização de microcódigo é necessária. Desabilitar o SMT fornece proteção adicional porque a mitigação do kernel não cobre vazamentos entre threads SMT. O impacto no desempenho é insignificante.

CVE-2023-20593 — Cross-Process Information Leak (Zenbleed)

Um bug em processadores AMD Zen 2 faz com que a instrução VZEROUPPER zere incorretamente os arquivos de registradores durante a execução especulativa, deixando dados obsoletos de outros processos observáveis em registradores vetoriais. Isso pode vazar dados através de qualquer limite de privilégio, incluindo do kernel e de outros processos, a taxas de até 30 KB/s por núcleo. A mitigação está disponível por meio de uma atualização de microcódigo que corrige o bug, ou por meio de uma solução alternativa do kernel que define o bit FP_BACKUP_FIX (bit 9) no MSR DE_CFG, desabilitando a otimização defeituosa. Qualquer uma das abordagens sozinha é suficiente. O impacto no desempenho é insignificante.

CVE-2023-23583 — Redundant Prefix Issue (Reptar)

Um bug em processadores Intel causa comportamento inesperado ao executar instruções com prefixos REX redundantes específicos. Dependendo das circunstâncias, isso pode resultar em uma falha do sistema (MCE), comportamento imprevisível ou potencialmente escalada de privilégio. Qualquer software executado em uma CPU afetada pode acionar o bug. A mitigação requer uma atualização de microcódigo. O impacto no desempenho é baixo.

CVE-2023-28746 — Register File Data Sampling (RFDS)

Em certos processadores Intel Atom e híbridos (Goldmont, Goldmont Plus, Tremont, Gracemont e os núcleos Atom de Alder Lake e Raptor Lake), o arquivo de registradores pode reter dados obsoletos de operações anteriores que são acessíveis por meio de execução especulativa, permitindo que um atacante infira dados através de limites de privilégio. A mitigação requer tanto uma atualização de microcódigo (fornecendo a capacidade RFDS_CLEAR) quanto uma atualização do kernel (CONFIG_MITIGATION_RFDS, Linux 6.9+) que usa a instrução VERW para limpar o arquivo de registradores nas transições de privilégio. CPUs com o bit de capacidade RFDS_NO não são afetadas. O impacto no desempenho é baixo.

CVE-2024-28956 — Indirect Target Selection (ITS)

Em certos processadores Intel (Skylake-X stepping 6+, Kaby Lake, Comet Lake, Ice Lake, Tiger Lake, Rocket Lake), um atacante pode treinar o preditor de desvio indireto para executar especulativamente um gadget direcionado no kernel, contornando as proteções eIBRS. O Branch Target Buffer (BTB) usa apenas bits de endereço parciais para indexar alvos de desvio indireto, permitindo que o código do espaço do usuário influencie a execução especulativa do espaço do kernel. Algumas CPUs afetadas (Ice Lake, Tiger Lake, Rocket Lake) são vulneráveis apenas a ataques nativos de usuário para kernel, não a ataques convidado para hospedeiro (VMX). A mitigação requer tanto uma atualização de microcódigo (IPU 2025.1 / microcode-20250512+, que corrige o IBPB para limpar completamente as previsões de desvio indireto) quanto uma atualização do kernel (CONFIG_MITIGATION_ITS, Linux 6.15+) que alinha thunks de desvio/retorno ou usa preenchimento RSB. O impacto no desempenho é baixo.

CVE-2024-36350 — Transient Scheduler Attack, Store Queue (TSA-SQ)

Em processadores AMD Zen 3 e Zen 4, o escalonador transiente da CPU pode recuperar especulativamente dados obsoletos da fila de armazenamento durante certas janelas de temporização, permitindo que um atacante infira dados de operações de armazenamento anteriores através de limites de privilégio. O ataque também pode vazar dados entre threads irmãos SMT. A mitigação requer tanto uma atualização de microcódigo (expondo a capacidade VERW_CLEAR) quanto uma atualização do kernel (CONFIG_MITIGATION_TSA, Linux 6.16+) que usa a instrução VERW para limpar buffers da CPU nas transições de usuário/kernel e antes do VMRUN. O kernel também limpa buffers quando ocioso com SMT ativo. O impacto no desempenho é baixo a médio.

CVE-2024-36357 — Transient Scheduler Attack, L1 (TSA-L1)

Em processadores AMD Zen 3 e Zen 4, o escalonador transiente da CPU pode recuperar especulativamente dados obsoletos do cache de dados L1 durante certas janelas de temporização, permitindo que um atacante infira dados no cache L1D através de limites de privilégio. A mitigação requer as mesmas atualizações de microcódigo e kernel que o TSA-SQ: uma atualização de microcódigo expondo VERW_CLEAR e uma atualização do kernel (CONFIG_MITIGATION_TSA, Linux 6.16+) que limpa os buffers da CPU via VERW nas transições de privilégio. O impacto no desempenho é baixo a médio.

CVE-2025-40300 — VM-Exit Stale Branch Prediction (VMScape)

Após uma máquina convidada VM sair para o hospedeiro, previsões de desvio obsoletas do convidado podem influenciar a execução especulativa do lado do hospedeiro antes que o kernel retorne ao espaço do usuário, permitindo que um atacante local vaze memória do kernel do hospedeiro. Isso afeta processadores Intel de Sandy Bridge a Arrow Lake/Lunar Lake, famílias AMD Zen 1 a Zen 5 e famílias Hygon 0x18. Apenas sistemas executando um hipervisor com convidados não confiáveis estão em risco. A mitigação requer uma atualização do kernel (CONFIG_MITIGATION_VMSCAPE, Linux 6.18+) que emite IBPB antes de retornar ao espaço do usuário após uma saída de VM. Nenhuma atualização específica de microcódigo é necessária além do suporte IBPB existente. O impacto no desempenho é baixo.

CVE-2024-45332 — Branch Privilege Injection (BPI)

Uma condição de corrida no mecanismo de atualização do preditor de desvio de processadores Intel (Coffee Lake a Raptor Lake, além de algumas peças de servidor e Atom) permite que previsões de desvio do espaço do usuário influenciem brevemente a execução especulativa do espaço do kernel, minando as proteções eIBRS e IBPB. Isso significa que sistemas que dependem apenas de eIBRS para mitigação do Spectre V2 podem não estar totalmente protegidos sem a correção de microcódigo. A mitigação requer uma atualização de microcódigo (intel-microcode 20250512+) que corrige a temporização da atualização assíncrona do preditor de desvio para que eIBRS e IBPB funcionem conforme pretendido originalmente. Nenhuma alteração no kernel é necessária. O impacto no desempenho é insignificante.

CVE-2025-54505 — AMD Zen1 Floating-Point Divider Stale Data Leak (FPDSS)

Em processadores AMD Zen1 e Zen+ (EPYC 7001, EPYC Embedded 3000, Athlon 3000 with Radeon, Ryzen 3000 with Radeon, Ryzen PRO 3000 with Radeon Vega), o divisor de ponto flutuante por hardware pode reter dados parciais de quociente de operações anteriores. Sob certas circunstâncias, esses resultados podem vazar para outra thread que compartilha o mesmo divisor, cruzando qualquer limite de privilégio. Isso recebeu o CVE-2025-54505 e foi publicado pela AMD como AMD-SB-7053 em 2026-04-17. A mitigação requer uma atualização do kernel (commit principal e55d98e77561, "x86/CPU: Fix FPDSS on Zen1", Linux 7.1) que define o bit 9 (ZEN1_DENORM_FIX_BIT) do MSR 0xc0011028 (MSR_AMD64_FP_CFG) incondicionalmente em cada CPU Zen1 na inicialização, desabilitando a otimização de hardware responsável pelo vazamento. Nenhuma atualização de microcódigo é necessária: o chicken bit está presente no silício Zen1 de fábrica e é independente da revisão do microcódigo. O impacto no desempenho é limitado a uma pequena redução na vazão de divisão de ponto flutuante, razão pela qual a AMD não ativa o bit por padrão no hardware.

CVEs não suportados

Vários CVEs de execução transiente não são cobertos por esta ferramenta, por vários motivos (duplicatas, afetam apenas hardware ou sistema operacional não suportado, teóricos sem exploração conhecida, etc.). A lista completa, juntamente com o motivo de cada exclusão, está disponível no arquivo UNSUPPORTED_CVE_LIST.md.

Escopo

Sistemas operacionais suportados:

  • Linux (todas as versões, variantes e distribuições)
  • FreeBSD, NetBSD, DragonFlyBSD e derivados (outros BSDs não são suportados)

Para sistemas Linux, a ferramenta detectará mitigações, incluindo patches não vanilla backportados, independentemente do número de versão do kernel divulgado e da distribuição (como Debian, Ubuntu, CentOS, RHEL, Fedora, openSUSE, Arch, ...), também funciona se você compilou seu próprio kernel. Mais informações aqui.

Outros sistemas operacionais como MacOS, Windows, ESXi, etc. nunca serão suportados.

Arquiteturas suportadas:

  • x86 (32 bits)
  • amd64/x86_64 (64 bits)
  • ARM e ARM64
  • outras arquiteturas funcionarão, mas as mitigações (se existirem) podem nem sempre ser detectadas

Perguntas Frequentes (FAQ)

Qual é o propósito desta ferramenta? Por que foi escrita? Como pode ser útil para mim? Como funciona? O que posso esperar dela?

Todas essas perguntas (e mais) têm respostas detalhadas na FAQ, dê uma olhada!

Modos de operação

O script suporta quatro modos de operação, dependendo se você deseja inspecionar o kernel em execução, uma imagem do kernel, o hardware da CPU ou uma combinação.

ModoSinalizadorHardware da CPUKernel em execuçãoImagem do kernelCaso de uso
Ao vivo (padrão)(nenhum)SimSimdetecção automáticaAuditoria diária do sistema atual
Sem tempo de execução--no-runtimeSimNãoobrigatórioVerificar um kernel diferente contra esta CPU (ex. pré-implantação)
Sem hardware--no-hwNãoNãoobrigatórioAnálise estática pura de uma imagem de kernel para outro sistema ou arquitetura
Apenas hardware--hw-onlySimNãoNãoVerificar rapidamente a afetação da CPU sem inspecionar nenhum kernel

No modo Ao vivo (o padrão), o script inspeciona tanto a CPU quanto o kernel em execução. Você pode opcionalmente passar --kernel, --config ou --map para apontar o script para arquivos que ele não conseguiu detectar automaticamente.

No modo Sem tempo de execução, o script ainda lê a CPU local (CPUID, MSRs, microcódigo), mas ignora todos os artefatos do kernel em execução (/sys, /proc, dmesg). Use isso quando você tiver uma imagem de kernel de outro sistema, mas quiser avaliá-la contra a CPU atual.

No modo Sem hardware, tanto a inspeção da CPU quanto os artefatos do kernel em execução são completamente ignorados. Isso é útil para análise entre arquiteturas, por exemplo, inspecionar uma imagem de kernel ARM em uma estação de trabalho x86.

No modo Apenas hardware, o script apenas relata informações da CPU e a afetação por hardware para cada CVE, sem inspecionar nenhum kernel.

Executando o script

Método direto (recomendado)

  • Obtenha a versão mais recente do script usando curl ou wget

    root@kitploit:~
    curl -L https://meltdown.ovh -o spectre-meltdown-checker.sh
    wget https://meltdown.ovh -O spectre-meltdown-checker.sh
    
  • Inspecione o script. Você nunca executa scripts baixados da Internet cegamente, não é?

    root@kitploit:~
    vim spectre-meltdown-checker.sh
    
  • Quando estiver pronto, execute o script como root

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

Usando um contêiner Docker

Desdobre para instruções

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

root@kitploit:~
Observe que em versões mais antigas do docker, `docker-compose` é um comando separado, então talvez você precise substituir as duas ocorrências de `docker compose` acima por `docker-compose`.

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

Exemplo de saída do script

  • AMD EPYC-Milan rodando sob Debian Trixie

alt text

Baixar ferramenta
✅
✅
☠️
✅
Atualização de hipervisor (ou desabilitar hugepages)
CVE-2019-11091 (MDSUM, RIDL)💥💥 (1)💥💥 (1)Microcódigo + atualização de kernel
CVE-2019-11135 (TAA, ZombieLoad V2)💥💥 (1)💥💥 (1)Microcódigo + atualização de kernel
CVE-2020-0543 (SRBDS, CROSSTalk)💥 (2)💥 (2)💥 (2)💥 (2)Microcódigo + atualização de kernel
CVE-2022-21123 (SBDR, MMIO Stale Data)💥💥 (1)💥💥 (1)Microcódigo + atualização de kernel
CVE-2022-21125 (SBDS, MMIO Stale Data)💥💥 (1)💥💥 (1)Microcódigo + atualização de kernel
CVE-2022-21166 (DRPW, MMIO Stale Data)💥💥 (1)💥💥 (1)Microcódigo + atualização de kernel
CVE-2022-29900 (Retbleed AMD)💥✅💥✅Atualização de kernel (+ microcódigo para IBPB)
CVE-2022-29901 (Retbleed Intel, RSBA)💥✅💥✅Microcódigo + atualização de kernel (eIBRS ou IBRS)
CVE-2022-40982 (Downfall, GDS)💥💥💥💥Atualização de microcódigo (ou desabilitar AVX)
CVE-2023-20569 (Inception, SRSO)💥✅💥✅Microcódigo + atualização de kernel
CVE-2023-20588 (DIV0)💥💥 (1)💥💥 (1)Atualização de kernel (+ desabilitar SMT)
CVE-2023-20593 (Zenbleed)💥💥💥💥Atualização de microcódigo (ou workaround de kernel)
CVE-2023-23583 (Reptar)☠️☠️☠️☠️Atualização de microcódigo
CVE-2023-28746 (RFDS)💥✅💥✅Microcódigo + atualização de kernel
CVE-2024-28956 (ITS)💥✅💥 (4)✅Microcódigo + atualização de kernel
CVE-2024-36350 (TSA-SQ)💥💥 (1)💥💥 (1)Microcódigo + atualização de kernel
CVE-2024-36357 (TSA-L1)💥💥 (1)💥💥 (1)Microcódigo + atualização de kernel
CVE-2025-40300 (VMScape)✅✅💥✅Atualização de kernel (IBPB na saída de VM)
CVE-2024-45332 (BPI)💥✅💥✅Atualização de microcódigo
CVE-2025-54505 (FPDSS)💥💥💥💥Atualização de kernel