GSD-2016-10555
Vulnerability from gsd - Updated: 2023-12-13 01:21Details
Since "algorithm" isn't enforced in jwt.decode()in jwt-simple 0.3.0 and earlier, a malicious user could choose what algorithm is sent sent to the server. If the server is expecting RSA but is sent HMAC-SHA with RSA's public key, the server will think the public key is actually an HMAC private key. This could be used to forge any data an attacker wants.
Aliases
Aliases
{
"GSD": {
"alias": "CVE-2016-10555",
"description": "Since \"algorithm\" isn\u0027t enforced in jwt.decode()in jwt-simple 0.3.0 and earlier, a malicious user could choose what algorithm is sent sent to the server. If the server is expecting RSA but is sent HMAC-SHA with RSA\u0027s public key, the server will think the public key is actually an HMAC private key. This could be used to forge any data an attacker wants.",
"id": "GSD-2016-10555"
},
"gsd": {
"metadata": {
"exploitCode": "unknown",
"remediation": "unknown",
"reportConfidence": "confirmed",
"type": "vulnerability"
},
"osvSchema": {
"aliases": [
"CVE-2016-10555"
],
"details": "Since \"algorithm\" isn\u0027t enforced in jwt.decode()in jwt-simple 0.3.0 and earlier, a malicious user could choose what algorithm is sent sent to the server. If the server is expecting RSA but is sent HMAC-SHA with RSA\u0027s public key, the server will think the public key is actually an HMAC private key. This could be used to forge any data an attacker wants.",
"id": "GSD-2016-10555",
"modified": "2023-12-13T01:21:26.901855Z",
"schema_version": "1.4.0"
}
},
"namespaces": {
"cve.org": {
"CVE_data_meta": {
"ASSIGNER": "support@hackerone.com",
"DATE_PUBLIC": "2018-04-26T00:00:00",
"ID": "CVE-2016-10555",
"STATE": "PUBLIC"
},
"affects": {
"vendor": {
"vendor_data": [
{
"product": {
"product_data": [
{
"product_name": "jwt-simple node module",
"version": {
"version_data": [
{
"version_value": "\u003c=0.3.0"
}
]
}
}
]
},
"vendor_name": "HackerOne"
}
]
}
},
"data_format": "MITRE",
"data_type": "CVE",
"data_version": "4.0",
"description": {
"description_data": [
{
"lang": "eng",
"value": "Since \"algorithm\" isn\u0027t enforced in jwt.decode()in jwt-simple 0.3.0 and earlier, a malicious user could choose what algorithm is sent sent to the server. If the server is expecting RSA but is sent HMAC-SHA with RSA\u0027s public key, the server will think the public key is actually an HMAC private key. This could be used to forge any data an attacker wants."
}
]
},
"problemtype": {
"problemtype_data": [
{
"description": [
{
"lang": "eng",
"value": "Improper Input Validation (CWE-20)"
}
]
}
]
},
"references": {
"reference_data": [
{
"name": "https://nodesecurity.io/advisories/87",
"refsource": "MISC",
"url": "https://nodesecurity.io/advisories/87"
},
{
"name": "https://github.com/hokaccha/node-jwt-simple/pull/14",
"refsource": "MISC",
"url": "https://github.com/hokaccha/node-jwt-simple/pull/14"
},
{
"name": "https://auth0.com/blog/2015/03/31/critical-vulnerabilities-in-json-web-token-libraries/",
"refsource": "MISC",
"url": "https://auth0.com/blog/2015/03/31/critical-vulnerabilities-in-json-web-token-libraries/"
},
{
"name": "https://github.com/hokaccha/node-jwt-simple/pull/16",
"refsource": "MISC",
"url": "https://github.com/hokaccha/node-jwt-simple/pull/16"
}
]
}
},
"gitlab.com": {
"advisories": [
{
"affected_range": "\u003c0.3.1",
"affected_versions": "All versions before 0.3.1",
"cvss_v2": "AV:N/AC:L/Au:S/C:N/I:P/A:N",
"cvss_v3": "CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N",
"cwe_ids": [
"CWE-1035",
"CWE-310",
"CWE-937"
],
"date": "2021-01-08",
"description": "Since \"algorithm\" isn\u0027t enforced in jwt.decode()in jwt-simple 0.3.0 and earlier, a malicious user could choose what algorithm is sent sent to the server. If the server is expecting RSA but is sent HMAC-SHA with RSA\u0027s public key, the server will think the public key is actually an HMAC private key. This could be used to forge any data an attacker wants.",
"fixed_versions": [
"0.3.1"
],
"identifier": "CVE-2016-10555",
"identifiers": [
"GHSA-vgrx-w6rg-8fqf",
"CVE-2016-10555"
],
"not_impacted": "All versions starting from 0.3.1",
"package_slug": "npm/jwt-simple",
"pubdate": "2018-11-06",
"solution": "Upgrade to version 0.3.1 or above.",
"title": "Forgeable Public/Private Tokens in jwt-simple",
"urls": [
"https://nvd.nist.gov/vuln/detail/CVE-2016-10555",
"https://github.com/hokaccha/node-jwt-simple/pull/16",
"https://github.com/hokaccha/node-jwt-simple/commit/957957cfa44474049b4603b293569588ee9ffd97",
"https://www.npmjs.com/advisories/87",
"https://github.com/hokaccha/node-jwt-simple/pull/14",
"https://auth0.com/blog/2015/03/31/critical-vulnerabilities-in-json-web-token-libraries/",
"https://nodesecurity.io/advisories/87",
"https://github.com/advisories/GHSA-vgrx-w6rg-8fqf"
],
"uuid": "05aee13b-e288-46cf-b898-587d4d3fcdb9"
}
]
},
"nvd.nist.gov": {
"configurations": {
"CVE_data_version": "4.0",
"nodes": [
{
"children": [],
"cpe_match": [
{
"cpe23Uri": "cpe:2.3:a:jwt-simple_project:jwt-simple:*:*:*:*:*:node.js:*:*",
"cpe_name": [],
"versionEndIncluding": "0.3.0",
"vulnerable": true
}
],
"operator": "OR"
}
]
},
"cve": {
"CVE_data_meta": {
"ASSIGNER": "cve-assignments@hackerone.com",
"ID": "CVE-2016-10555"
},
"data_format": "MITRE",
"data_type": "CVE",
"data_version": "4.0",
"description": {
"description_data": [
{
"lang": "en",
"value": "Since \"algorithm\" isn\u0027t enforced in jwt.decode()in jwt-simple 0.3.0 and earlier, a malicious user could choose what algorithm is sent sent to the server. If the server is expecting RSA but is sent HMAC-SHA with RSA\u0027s public key, the server will think the public key is actually an HMAC private key. This could be used to forge any data an attacker wants."
}
]
},
"problemtype": {
"problemtype_data": [
{
"description": [
{
"lang": "en",
"value": "CWE-310"
}
]
}
]
},
"references": {
"reference_data": [
{
"name": "https://nodesecurity.io/advisories/87",
"refsource": "MISC",
"tags": [
"Third Party Advisory"
],
"url": "https://nodesecurity.io/advisories/87"
},
{
"name": "https://github.com/hokaccha/node-jwt-simple/pull/16",
"refsource": "MISC",
"tags": [
"Issue Tracking",
"Third Party Advisory"
],
"url": "https://github.com/hokaccha/node-jwt-simple/pull/16"
},
{
"name": "https://github.com/hokaccha/node-jwt-simple/pull/14",
"refsource": "MISC",
"tags": [
"Issue Tracking",
"Third Party Advisory"
],
"url": "https://github.com/hokaccha/node-jwt-simple/pull/14"
},
{
"name": "https://auth0.com/blog/2015/03/31/critical-vulnerabilities-in-json-web-token-libraries/",
"refsource": "MISC",
"tags": [
"Broken Link",
"Third Party Advisory"
],
"url": "https://auth0.com/blog/2015/03/31/critical-vulnerabilities-in-json-web-token-libraries/"
}
]
}
},
"impact": {
"baseMetricV2": {
"cvssV2": {
"accessComplexity": "LOW",
"accessVector": "NETWORK",
"authentication": "SINGLE",
"availabilityImpact": "NONE",
"baseScore": 4.0,
"confidentialityImpact": "NONE",
"integrityImpact": "PARTIAL",
"vectorString": "AV:N/AC:L/Au:S/C:N/I:P/A:N",
"version": "2.0"
},
"exploitabilityScore": 8.0,
"impactScore": 2.9,
"obtainAllPrivilege": false,
"obtainOtherPrivilege": false,
"obtainUserPrivilege": false,
"severity": "MEDIUM",
"userInteractionRequired": false
},
"baseMetricV3": {
"cvssV3": {
"attackComplexity": "LOW",
"attackVector": "NETWORK",
"availabilityImpact": "NONE",
"baseScore": 6.5,
"baseSeverity": "MEDIUM",
"confidentialityImpact": "NONE",
"integrityImpact": "HIGH",
"privilegesRequired": "LOW",
"scope": "UNCHANGED",
"userInteraction": "NONE",
"vectorString": "CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N",
"version": "3.0"
},
"exploitabilityScore": 2.8,
"impactScore": 3.6
}
},
"lastModifiedDate": "2019-10-09T23:16Z",
"publishedDate": "2018-05-31T20:29Z"
}
}
}
Loading…
Loading…
Sightings
| Author | Source | Type | Date |
|---|
Nomenclature
- Seen: The vulnerability was mentioned, discussed, or observed by the user.
- Confirmed: The vulnerability has been validated from an analyst's perspective.
- Published Proof of Concept: A public proof of concept is available for this vulnerability.
- Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
- Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
- Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
- Not confirmed: The user expressed doubt about the validity of the vulnerability.
- Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.
Loading…
Loading…