CVE-2016-10555

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.

Published: 2018-05-31 Last update: 2024-11-21 Assigner: [email protected] Source: [email protected]

Conclusion & alert: CVE-2016-10555 is rated Moderate Risk (60.5/100): CVSS Medium severity, with high exploitation likelihood (EPSS 81.65%, 99th percentile). Core evidence: EPSS ranks this CVE among the most likely to be exploited in the near term. Mandatory action: High exploitation likelihood—assess exposure and prioritize remediation.

Risk is dynamic; we continuously reassess and refresh what is shown on this page as upstream context changes.

Exploit prediction scoring system (EPSS) score for CVE-2016-10555

EPSS lead: Daily EPSS estimates relative likelihood of exploitation; percentile ranks this CVE among scored vulnerabilities (higher = more severe relative rank).

# Date Old EPSS score New EPSS score Delta (New - Old)
1 2026-05-05 81.89% 81.65% -0.24%
2 2026-04-22 81.65% 81.89% +0.24%
3 2026-03-25 81.65%

Full EPSS history (33 records total)

Common vulnerability scoring system (CVSS) metrics for CVE-2016-10555

CVSS metrics for this CVE.

Base score Version Severity Vector Exploitability Impact Score source
6.5 3.0 MEDIUM
CVSS:3.0/AV:N/AC:L/PR:L/UI:N/S:U/C:N/I:H/A:N Click to expand
Attack vector (AV:N)
Could be attacked over the internet or any normal routed network—not just someone sitting at the machine.
Attack complexity (AC:L)
Once they can reach the bug, pulling it off is straightforward—no weird race conditions or rare setup.
Privileges required (PR:L)
A normal user session is enough; they don’t have to be admin.
User interaction (UI:N)
Nobody has to click “OK” or open a trap file; it can work without a victim helping.
Scope (S:U)
Damage stays in the same “trust bubble” as the broken component—no big spill into unrelated systems.
Confidentiality (C:N)
Doesn’t really leak secrets in a meaningful way.
Integrity (I:H)
They could widely tamper with or forge data—trust in the data is badly hurt.
Availability (A:N)
Service keeps running; no real outage angle.
2.8 3.6 [email protected]
4.0 2.0 MEDIUM
AV:N/AC:L/Au:S/C:N/I:P/A:N Click to expand
Access vector (AV:N)
Can be exploited remotely over network reachability.
Access complexity (AC:L)
Exploitation conditions are straightforward and predictable.
Authentication (AU:S)
A single authentication is required.
Confidentiality impact (C:N)
No confidentiality impact.
Integrity impact (I:P)
Partial integrity impact.
Availability impact (A:N)
No availability impact.
8.0 2.9 [email protected]

Weakness enumeration for CVE-2016-10555

GitHub Security Advisory for CVE-2016-10555

GHSA-vgrx-w6rg-8fqf · Severity: critical · Ecosystem: npm — Forgeable Public/Private Tokens in jwt-simple

Affected software / configurations for CVE-2016-10555

Vendor Product Version Raw CPE
jwt-simple_project jwt-simple <= 0.3.0 cpe:2.3:a:jwt-simple_project:jwt-simple:*:*:*:*:*:node.js:*:*

References for CVE-2016-10555

cvelogic Threat Intelligence