5.3
MEDIUM
CVE-2022-36083
JOSE Persistent CPU Denial of Service
Description

JOSE is "JSON Web Almost Everything" - JWA, JWS, JWE, JWT, JWK, JWKS with no dependencies using runtime's native crypto in Node.js, Browser, Cloudflare Workers, Electron, and Deno. The PBKDF2-based JWE key management algorithms expect a JOSE Header Parameter named `p2c` PBES2 Count, which determines how many PBKDF2 iterations must be executed in order to derive a CEK wrapping key. The purpose of this parameter is to intentionally slow down the key derivation function in order to make password brute-force and dictionary attacks more expensive. This makes the PBES2 algorithms unsuitable for situations where the JWE is coming from an untrusted source: an adversary can intentionally pick an extremely high PBES2 Count value, that will initiate a CPU-bound computation that may take an unreasonable amount of time to finish. Under certain conditions, it is possible to have the user's environment consume unreasonable amount of CPU time. The impact is limited only to users utilizing the JWE decryption APIs with symmetric secrets to decrypt JWEs from untrusted parties who do not limit the accepted JWE Key Management Algorithms (`alg` Header Parameter) using the `keyManagementAlgorithms` (or `algorithms` in v1.x) decryption option or through other means. The `v1.28.2`, `v2.0.6`, `v3.20.4`, and `v4.9.2` releases limit the maximum PBKDF2 iteration count to `10000` by default. It is possible to adjust this limit with a newly introduced `maxPBES2Count` decryption option. If users are unable to upgrade their required library version, they have two options depending on whether they expect to receive JWEs using any of the three PBKDF2-based JWE key management algorithms. They can use the `keyManagementAlgorithms` decryption option to disable accepting PBKDF2 altogether, or they can inspect the JOSE Header prior to using the decryption API and limit the PBKDF2 iteration count (`p2c` Header Parameter).

INFO

Published Date :

Sept. 7, 2022, 10:15 p.m.

Last Modified :

July 21, 2023, 7:49 p.m.

Remotely Exploitable :

Yes !

Impact Score :

1.4

Exploitability Score :

3.9
Affected Products

The following products are affected by CVE-2022-36083 vulnerability. Even if cvefeed.io is aware of the exact versions of the products that are affected, the information is not represented in the table below.

ID Vendor Product Action
1 Jose_project jose
1 Jose-node-cjs-runtime_project jose-node-cjs-runtime
References to Advisories, Solutions, and Tools

Here, you will find a curated list of external links that provide in-depth information, practical solutions, and valuable tools related to CVE-2022-36083.

URL Resource
https://github.com/panva/jose/commit/03d6d013bf6e070e85adfe5731f526978e3e8e4d Patch Third Party Advisory
https://github.com/panva/jose/releases/tag/v4.9.2 Third Party Advisory
https://github.com/panva/jose/security/advisories/GHSA-jv3g-j58f-9mq9 Exploit Third Party Advisory

We scan GitHub repositories to detect new proof-of-concept exploits. Following list is a collection of public exploits and proof-of-concepts, which have been published on GitHub (sorted by the most recently updated).

Results are limited to the first 15 repositories due to potential performance issues.

The following list is the news that have been mention CVE-2022-36083 vulnerability anywhere in the article.

The following table lists the changes that have been made to the CVE-2022-36083 vulnerability over time.

Vulnerability history details can be useful for understanding the evolution of a vulnerability, and for identifying the most recent changes that may impact the vulnerability's severity, exploitability, or other characteristics.

  • CVE Modified by [email protected]

    May. 14, 2024

    Action Type Old Value New Value
  • Reanalysis by [email protected]

    Jul. 21, 2023

    Action Type Old Value New Value
    Added CWE NIST CWE-834
  • Initial Analysis by [email protected]

    Sep. 13, 2022

    Action Type Old Value New Value
    Added CVSS V3.1 NIST AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:L
    Changed Reference Type https://github.com/panva/jose/commit/03d6d013bf6e070e85adfe5731f526978e3e8e4d No Types Assigned https://github.com/panva/jose/commit/03d6d013bf6e070e85adfe5731f526978e3e8e4d Patch, Third Party Advisory
    Changed Reference Type https://github.com/panva/jose/releases/tag/v4.9.2 No Types Assigned https://github.com/panva/jose/releases/tag/v4.9.2 Third Party Advisory
    Changed Reference Type https://github.com/panva/jose/security/advisories/GHSA-jv3g-j58f-9mq9 No Types Assigned https://github.com/panva/jose/security/advisories/GHSA-jv3g-j58f-9mq9 Exploit, Third Party Advisory
    Added CPE Configuration OR *cpe:2.3:a:jose_project:jose:*:*:*:*:*:node.js:*:* versions from (including) 1.0.0 up to (excluding) 1.28.2 *cpe:2.3:a:jose_project:jose:*:*:*:*:*:node.js:*:* versions from (including) 2.0.0 up to (excluding) 2.0.6 *cpe:2.3:a:jose_project:jose:*:*:*:*:*:node.js:*:* versions from (including) 3.0.0 up to (excluding) 3.20.4 *cpe:2.3:a:jose_project:jose:*:*:*:*:*:node.js:*:* versions from (including) 4.0.0 up to (excluding) 4.9.2
EPSS is a daily estimate of the probability of exploitation activity being observed over the next 30 days. Following chart shows the EPSS score history of the vulnerability.
CWE - Common Weakness Enumeration

While CVE identifies specific instances of vulnerabilities, CWE categorizes the common flaws or weaknesses that can lead to vulnerabilities. CVE-2022-36083 is associated with the following CWEs:

Common Attack Pattern Enumeration and Classification (CAPEC)

Common Attack Pattern Enumeration and Classification (CAPEC) stores attack patterns, which are descriptions of the common attributes and approaches employed by adversaries to exploit the CVE-2022-36083 weaknesses.

Exploit Prediction

EPSS is a daily estimate of the probability of exploitation activity being observed over the next 30 days.

0.10 }} 0.00%

score

0.40654

percentile

CVSS31 - Vulnerability Scoring System
Attack Vector
Attack Complexity
Privileges Required
User Interaction
Scope
Confidentiality
Integrity
Availability