CVE-2018-0114 Cisco node-jose improper validation of JWT signature
An attacker can forge valid JSON Web Signatures by embedding their own public key in the token header, bypassing signature verification.
- Exploited in the wild
- Not known
- Login needed
- Not needed
- Attackable
- Over the internet
- Victim action needed
- Not needed
- Fix
- Available
What is CVE-2018-0114?
CVE-2018-0114 is a high-severity vulnerability in Node-jose Library, published on 4 Jan 2018. An attacker can exploit it over the internet without logging in, with no action from the victim.
Official 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.
Weakness: CWE-347
Which versions are affected by CVE-2018-0114?
2 open source packages ship an affected version, including node-jose. It affects 1 product.
| Package | Affected | Fixed in |
|---|---|---|
node-jose npm | All versions | 0.11.0 |
node-jose npm | All versions | 0.11.0 |
Products include Cisco Node-Jose.
How do I fix CVE-2018-0114?
Upgrade node-jose to 0.11.0 or later.
Is CVE-2018-0114 being exploited?
It is not confirmed as exploited in the wild, but public exploit code for CVE-2018-0114 exists.
Public exploit code: 1 Exploit-DB entry and 14 proofs of concept on GitHub.
Other vulnerabilities in Node-jose Library
Sources
Also known as GHSA-jfxm-w8g2-4rcv.