7.5high
CVE-2017-12972
Nimbus JOSE+JWT missing overflow check
Also known as GHSA-2qp9-wg27-9pcv
Published 9 y ago · modified 4 mo ago · JSON
CVSS
7.5
v3.0 · NVD
CISA KEV
No
not known exploited
EPSS
0.9%
percentile 59%
Public exploits
0
none known
Summary
In Nimbus JOSE+JWT before 4.39, there is no integer-overflow check when converting length values from bytes to bits, which allows attackers to conduct HMAC bypass attacks by shifting Additional Authenticated Data (AAD) and ciphertext so that different plaintext is obtained for the same HMAC.
Exploit prediction (EPSS)
0.89% probability of exploitation in the next 30 days, higher than 59% of all scored CVEs.
CVSS scores
| Assigned by | Version | Score | Vector |
|---|---|---|---|
| NVD | 3.0 | 7.5 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
| NVD | 2.0 | 5.0 | AV:N/AC:L/Au:N/C:N/I:P/A:N |
| GitHub | 3.0 | 7.5 | CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N |
Affected packages
| Ecosystem | Package | Affected | Fixed in |
|---|---|---|---|
| maven | com.nimbusds:nimbus-jose-jwt | <4.39 | 4.39 |
Classification
- Weakness
- CWE-345 Insufficient Verification of Data Authenticity
References
- bitbucket.org /connect2id/nimbus-jose-jwt/issues/224/byte-to-bit-overflow-in-cbc · x_refsource_CONFIRM, x_transferred
- bitbucket.org /connect2id/nimbus-jose-jwt/commits/0d2bd649ea386539220d4facfe1f65eb1dadb86c · x_refsource_CONFIRM, x_transferred
- bitbucket.org /connect2id/nimbus-jose-jwt/src/master/CHANGELOG.txt · x_refsource_CONFIRM, x_transferred
- lists.apache.org /thread.html/9317fd092b257a0815434b116a8af8daea6e920b6673f4fd5583d5fe%40%3Ccommits.druid.a · mailing-list, x_refsource_MLIST, x_transferred
- nvd.nist.gov /vuln/detail/CVE-2017-12972 · advisory
- lists.apache.org /thread.html/9317fd092b257a0815434b116a8af8daea6e920b6673f4fd5583d5fe@%3Ccommits.druid.apa · web
Sources
- CVE List: CVE-2017-12972
- GitHub Advisory: GHSA-2qp9-wg27-9pcv
- NVD: CVE-2017-12972
vulnwire keeps one entry per vulnerability: the CVE id wins, then GHSA; records that alias each other are merged. Machine-readable: JSON.