O portsmash (CVE-2018-5407) é a vulnerabilidade mais recente do grupo de side-channel, à semelhança do Spectre e Meltdown, que pode ser explorada por um ataque de timing para roubar informação de outros processos que corram no mesmo core de CPU com o SMT/hyper-threading ativo.
Segundo os investigadores, é um ataque local porque o processo malicioso deve correr no mesmo core físico que a vítima, que neste caso seria um servidor TLS com openSSL.
O que é o SMT/Hyper-Threading?
É uma tecnologia de multi-processos que permite que o código desenvolvido de forma a executar múltiplas threads seja processado em paralelo dentro de um único core de CPU com um aumento significativo na performance.
É possível detetar a contenção de porta de forma a desencadear o que se designa por timing side channel e exfiltrar a chave privada dos processos que estejam a correr em paralelo no mesmo core de CPU.
Processadores afetados
O exploit resultou nos processadores da Skylake e Kabylake, contudo acredita-se que também resultem nos processadores da AMD Ryzen.
Código do exploit publicamente disponível aqui: https://github.com/bbbrumley/portsmash
Versão do Openssl corrigida
OpenSSL 1.1.1
Além do Openssl, é possível mitigar esta falha a partir da desabilitação do SMT/Hyper-threading: https://thehackernews.com/2018/06/openbsd-hyper-threading.html