CVE-2023-6681: Jwcrypto: denail of service via specifically crafted jwe
Impact Denial of Service, Applications that allow the use of the PBKDF2 algorithm.
Patches A patch is available that sets the maximum number of default rounds.
Workarounds Applications that do not need to use PBKDF2 should simply specify the algorithms use and exclude it from the list. Applications that need to use the algorithm should upgrade to the new version that allows to set a maximum rounds number.
Acknowledgement The issues was reported by Jingcheng Yang and Jianjun Chen from Sichuan University and Zhongguancun Lab
Other sources
A vulnerability was found in JWCrypto. This flaw allows an attacker to cause a denial of service (DoS) attack and possible password brute-force and dictionary attacks to be more resource-intensive. This issue can result in a large amount of computational consumption, causing a denial of service attack.
— NVD
The JWE key management algorithms based on PBKDF2 require a JOSE Header Parameter called p2c (PBES2 Count). This parameter dictates the number of PBKDF2 iterations needed to derive a CEK wrapping key. Its primary purpose is to intentionally slow down the key derivation function, making password brute-force and dictionary attacks more resource- intensive.
Therefore, if an attacker sets the p2c parameter in JWE to a very large number, it can cause a lot of computational consumption, resulting in a DOS attack
— Red Hat
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
pip/jwcryptoto a version that resolves this vulnerability.Fixed in 1.5.1 - Upgrade
Upgrade
redhat/jwcryptoto a version that resolves this vulnerability.Fixed in 1.5.1 - Upgrade
Upgrade
JWCryptoto a version that resolves this vulnerability.Patch d2655d370586cb830e49acfb450f87598da60be8 - Configuration
For applications that do not need PBKDF2, specify the algorithms used and exclude PBKDF2 from the list.
Applications using JWCrypto PBKDF2 algorithm usage = excluded
Event History
Frequently Asked Questions
What is the severity of CVE-2023-6681?
CVE-2023-6681 has been categorized with a severity rating associated with Denial of Service vulnerabilities.
How do I fix CVE-2023-6681?
To fix CVE-2023-6681, you should update to jwcrypto version 1.5.1 or apply the available patch that sets the maximum number of default rounds.
Which software versions are affected by CVE-2023-6681?
CVE-2023-6681 affects jwcrypto versions prior to 1.5.1 across various operating systems including Red Hat Enterprise Linux and Fedora.
What type of vulnerability is CVE-2023-6681?
CVE-2023-6681 is a Denial of Service vulnerability that affects applications utilizing the PBKDF2 algorithm.
Are there any workarounds for CVE-2023-6681?
While there are no specific workarounds mentioned for CVE-2023-6681, updating affected software is recommended.