Description
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.
Remediation
References
https://tools.cisco.com/security/center/viewAlert.x?alertId=56326
https://github.com/cisco/node-jose/blob/master/CHANGELOG.md
http://www.securityfocus.com/bid/102445
https://github.com/zi0Black/POC-CVE-2018-0114
https://www.exploit-db.com/exploits/44324/
Related Vulnerabilities
CVE-2023-36820 Vulnerability in maven package io.micronaut.security:micronaut-security-oauth2
CVE-2020-7611 Vulnerability in maven package io.micronaut:micronaut-http-client
CVE-2023-33546 Vulnerability in maven package org.codehaus.janino:janino-parent
CVE-2022-47105 Vulnerability in maven package org.jeecgframework.boot:jeecg-boot-base-core
CVE-2021-41182 Vulnerability in maven package org.webjars.bower:jquery-ui