
Exploit per Node-jose < 0.11.0 scritto in Ruby
ruby ./exploit.rb Una vulnerabilità nella libreria open source Cisco node-jose precedente alla versione 0.11.0 potrebbe consentire a un attaccante remoto non autenticato di firmare nuovamente i token utilizzando una chiave incorporata nel token stesso. La vulnerabilità è dovuta al fatto che node-jose segue lo standard JSON Web Signature (JWS) per i JSON Web Token (JWT). Tale standard specifica che una JSON Web Key (JWK) che rappresenta una chiave pubblica può essere incorporata nell'header di un JWS. Questa chiave pubblica viene poi considerata attendibile per la verifica. Un attaccante potrebbe sfruttare questa vulnerabilità forgiando oggetti JWS validi: rimuovendo la firma originale, aggiungendo una nuova chiave pubblica all'header e firmando l'oggetto con la chiave privata (di proprietà dell'attaccante) associata alla chiave pubblica incorporata in quell'header JWS. (https://nvd.nist.gov/vuln/detail/CVE-2018-0114).