CVE-2018-0114
published 2018-01-04CVE-2018-0114: 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…
PriorityP267high7.5CVSS 3.1
AVNACLPRNUINSUCNIHAN
EXPLOIT
EPSS
42.65%
98.5th percentile
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.
Affected
2 ranges
| Vendor | Product | Version range | Fixed in |
|---|---|---|---|
| cisco | node-jose | < 0.11.0 | 0.11.0 |
| cisco | node-jose | >= 0 < 0.11.0 | 0.11.0 |
Detection & IOCsextracted from sources · hover to see the quote
- →Inspect JWT/JWS headers for the presence of an embedded 'jwk' claim containing a public key (kty=RSA). Legitimate tokens should not carry a self-signed JWK in the header; its presence is a strong indicator of CVE-2018-0114 exploitation. ↗
- →Flag any JWT/JWS token whose decoded header contains a 'jwk' field with 'use':'sig', as the attacker embeds their own public key there to make the library trust and verify their forged signature. ↗
- →Monitor for the PoC-specific kid value '[email protected]' in JWT headers, which is a direct indicator of the public exploit (EDB-44324) being used. ↗
- ·The vulnerability is rooted in node-jose blindly trusting the JWK embedded in the JWS header per the standard. Any deployment using node-jose < 0.11.0 for JWT verification is affected regardless of algorithm choice, as long as the library honours the embedded JWK. ↗
- ·The PoC targets node-jose >= 8 (pre-0.11.0 fix). Ensure the patched version 0.11.0 or later is deployed; the fix removes implicit trust of the JWK embedded in the token header. ↗
CVSS provenance
nvdv3.17.5HIGHCVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
nvdv2.05.0MEDIUMAV:N/AC:L/Au:N/C:N/I:P/A:N
CVEs like this are exactly what “Exploited This Week” covers.
Every Monday: what got weaponized or added to CISA KEV in the last seven days — each CVE cross-linked to its PoC, Nuclei template, and detection rule. Free, one email a week, unsubscribe in one click.
GHSA
Cisco node-jose improper validation of JWT signature
ghsa·2022-05-13
CVE-2018-0114 [HIGH] CWE-347 Cisco node-jose improper validation of JWT signature
Cisco node-jose improper validation of JWT signature
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.
OSV
Cisco node-jose improper validation of JWT signature
osv·2022-05-13
CVE-2018-0114 [HIGH] Cisco node-jose improper validation of JWT signature
Cisco node-jose improper validation of JWT signature
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.
No detection rules found.
No writeups or analysis indexed.
http://www.securityfocus.com/bid/102445https://github.com/cisco/node-jose/blob/master/CHANGELOG.mdhttps://github.com/zi0Black/POC-CVE-2018-0114https://tools.cisco.com/security/center/viewAlert.x?alertId=56326https://www.exploit-db.com/exploits/44324/http://www.securityfocus.com/bid/102445https://github.com/cisco/node-jose/blob/master/CHANGELOG.mdhttps://github.com/zi0Black/POC-CVE-2018-0114https://tools.cisco.com/security/center/viewAlert.x?alertId=56326https://www.exploit-db.com/exploits/44324/
2018-01-04
Published