A vulnerability in the Cisco node-jose open source library before 0.11.0 could allow an unauthenticated, remote attacker to re-sign tokens using a key that is embedded within the token. The vulnerability is due to node-jose following the JSON Web Signature (JWS) standard for JSON Web Tokens (JWTs). This standard specifies that a JSON Web Key (JWK) representing a public key can be embedded within the header of a JWS. This public key is then trusted for verification. An attacker could exploit this by forging valid JWS objects by removing the original signature, adding a new public key to the header, and then signing the object using the (attacker-owned) private key associated with the public key embedded in that JWS header.
Una vulnerabilidad en la librería de código libre node-jose de Cisco en versiones anteriores a la 0.11.0 podría permitir que un atacante remoto no autenticado vuelva a firmar los tokens empleando una clave que está embebida en el token. Esta vulnerabilidad se debe a que node-jose sigue el estándar JSON Web Signature (JWS) para JWT (JSON Web Tokens). Este estándar especifica que una clave web JSON Web Key (JWK) que represente una clave pública se puede embeber en la cabecera de una JWS. Después se asume que la clave pública pasa por un proceso de verificación. Un atacante podría explotar esta vulnerabilidad forjando objetos JWS válidos eliminando la firma original, añadiendo una nueva clave pública a la cabecera y luego firmando el objeto utilizando la clave privada (propiedad del atacante) asociada con la clave pública embebida en esa cabecera JWS.