Padding Oracle Attack due to Observable Timing Discrepancy in jose (panva jose)
At a glance
- Source
- NVD
- EPSS
- EPSS 1.17 % · percentile 67 ()
- State
- PUBLISHED
- Published
- Updated
- Assigner
- GitHub_M
- NVD status
- Modified
Description
jose is an npm library providing a number of cryptographic operations. In vulnerable versions AES_CBC_HMAC_SHA2 Algorithm (A128CBC-HS256, A192CBC-HS384, A256CBC-HS512) decryption would always execute both HMAC tag verification and CBC decryption, if either failed `JWEDecryptionFailed` would be thrown. A possibly observable difference in timing when padding error would occur while decrypting the ciphertext makes a padding oracle and an adversary might be able to make use of that oracle to decrypt data without knowing the decryption key by issuing on average 128*b calls to the padding oracle (where b is the number of bytes in the ciphertext block). All major release versions have had a patch released which ensures the HMAC tag is verified before performing CBC decryption. The fixed versions are `^1.28.1 || ^2.0.5 || >=3.11.4`. Users should upgrade their v1.x dependency to ^1.28.1, their v2.x dependency to ^2.0.5, and their v3.x dependency to ^3.11.4. Thanks to Jason from Microsoft Vulnerability Research (MSVR) for bringing this up and Eva Sarafianou (@esarafianou) for helping to score this advisory.
Weaknesses (CWE)
- CWE-203 — Observable Discrepancy
References
Scores
| Version | Score | Vector | Scored by |
|---|---|---|---|
| CVSS 3.1 | MEDIUM 5.9 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N | GitHub_M |
| CVSS 3.1 | MEDIUM 5.9 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N | NVD · security-advisories@github.com (Secondary) |
| CVSS 3.1 | MEDIUM 5.9 | CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:N/A:N | NVD · nvd@nist.gov (Primary) |
| CVSS 2.0 | MEDIUM 4.3 | AV:N/AC:M/Au:N/C:P/I:N/A:N | NVD · nvd@nist.gov (Primary) |
Advisories
- GHSA-58f5-hfqc-jgch — Padding Oracle Attack due to Observable Timing Discrepancy in jose
European references
- ENISA EUVD · EUVD-2021-0764
- GCVE · GCVE-0-2021-29443
Affected configurations (NVD CPE)
cpe:2.3:a:panva:jose:*:*:*:*:*:node.js:*:*≥ 1.0.0 < 1.28.1cpe:2.3:a:panva:jose:*:*:*:*:*:node.js:*:*≥ 2.0.0 < 2.0.5cpe:2.3:a:panva:jose:*:*:*:*:*:node.js:*:*≥ 3.0.0 < 3.11.4
Affected products
| Product | Versions |
|---|---|
| panva · jose | affected < 1.28.1 ; affected >= 2.0.0, < 2.0.5 ; affected >= 3.0.0, < 3.11.4 |
Sources
| Source | Licence |
|---|---|
| CVE List (CVEProject cvelistV5) | CVE Program Terms of Use |
| EPSS (FIRST.org) | FIRST — attribution requested |
| ENISA EUVD | ENISA — reproduction authorised, source acknowledged |
| NVD (NIST) via fkie-cad/nvd-json-data-feeds | Public domain — this product uses data from the NVD API but is not endorsed or certified by the NVD |