Information disclosure in node-jose - CVE-2018-0114
Published: December 25, 2017 / Updated: March 17, 2023
Vulnerability identifier: #VU9721
CSH Severity: Low
CVSS v4: 8.7 [CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:H/VI:N/VA:N/SC:N/SI:N/SA:N]
CVE-ID: CVE-2018-0114
CWE-ID: CWE-200
Exploitation vector: Remote access
Exploit availability:
Public exploit is available
Vulnerability details
The vulnerability allows a remote attacker to re-sign tokens using a key that is embedded within the token.
The weakness exists in the node-jose open source library due to node-jose following the JSON Web Signature (JWS) standard for JSON Web Tokens (JWTs). A remote attacker can forge valid JWS objects by removing the original signature, add a new public key to the header and sign the object using the (attacker-owned) private key associated with the public key embedded in that JWS header.
The weakness exists in the node-jose open source library due to node-jose following the JSON Web Signature (JWS) standard for JSON Web Tokens (JWTs). A remote attacker can forge valid JWS objects by removing the original signature, add a new public key to the header and sign the object using the (attacker-owned) private key associated with the public key embedded in that JWS header.
Affected software
node-jose
How to mitigate CVE-2018-0114
Update to version 0.11.0.
Links to Public Exploits and PoC-codes
- Exploit #8921 - jwt-spoof-tool (Automate JWT Exploit (CVE-2018-0114)) (March 17, 2023)
- Exploit #8171 - CVE-2018-0114-Exploit () (July 24, 2022)
- Exploit #6243 - Cisco node-jos < 0.11.0 - Re-sign Tokens (June 17, 2021)
- Exploit #5403 - CVE-2018-0114 (Exploit for Node-jose < 0.11.0 written in Ruby) (May 12, 2021)
- Exploit #172 - POC-CVE-2018-0114 (This repository contains the POC of an exploit for node-jose < 0.11.0) (March 18, 2020)