Skip to content

Cisco node-jose improper validation of JWT signature

High severity GitHub Reviewed Published May 13, 2022 to the GitHub Advisory Database • Updated Oct 14, 2023

Package

npm node-jose (npm)

Affected versions

< 0.11.0

Patched versions

0.11.0

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.

References

Published by the National Vulnerability Database Jan 4, 2018
Published to the GitHub Advisory Database May 13, 2022
Reviewed Jul 20, 2023
Last updated Oct 14, 2023

Severity

High
7.5
/ 10

CVSS base metrics

Attack vector
Network
Attack complexity
Low
Privileges required
None
User interaction
None
Scope
Unchanged
Confidentiality
None
Integrity
High
Availability
None
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N

Weaknesses

CVE ID

CVE-2018-0114

GHSA ID

GHSA-jfxm-w8g2-4rcv

Source code

Checking history
See something to contribute? Suggest improvements for this vulnerability.