
Exploit para Node-jose < 0.11.0 escrito em Ruby
ruby ./exploit.rb Uma vulnerabilidade na biblioteca de código aberto Cisco node-jose anterior à versão 0.11.0 poderia permitir que um atacante remoto não autenticado reassinasse tokens usando uma chave embutida no token. A vulnerabilidade ocorre porque node-jose segue o padrão JSON Web Signature (JWS) para JSON Web Tokens (JWTs). Esse padrão especifica que uma JSON Web Key (JWK) representando uma chave pública pode ser embutida no cabeçalho de um JWS. Essa chave pública é então confiável para verificação. Um atacante poderia explorar isso forjando objetos JWS válidos, removendo a assinatura original, adicionando uma nova chave pública ao cabeçalho e, em seguida, assinando o objeto usando a chave privada (de propriedade do atacante) associada à chave pública embutida nesse cabeçalho JWS. (https://nvd.nist.gov/vuln/detail/CVE-2018-0114).