crypto-js is a JavaScript library of crypto standards. Prior to version 4.2.0, crypto-js PBKDF2 is 1,000 times weaker than originally specified in 1993, and at least 1,300,000 times weaker than current industry standard. This is because it both defaults to SHA1, a cryptographic hash algorithm considered insecure since at least 2005, and defaults to one single iteration, a 'strength' or 'difficulty' value specified at 1,000 when specified in 1993. PBKDF2 relies on iteration count as a countermeasure to preimage and collision attacks. If used to protect passwords, the impact is high. If used to generate signatures, the impact is high. Version 4.2.0 contains a patch for this issue. As a workaround, configure crypto-js to use SHA256 with at least 250,000 iterations.
CVE-2023-46233 - Critical Severity Vulnerability
Vulnerable Library - crypto-js-3.3.0.tgz
JavaScript library of crypto standards.
Library home page: https://registry.npmjs.org/crypto-js/-/crypto-js-3.3.0.tgz
Path to dependency file: /package.json
Path to vulnerable library: /node_modules/crypto-js/package.json
Dependency Hierarchy: - pdfkit-0.11.0.tgz (Root Library) - :x: **crypto-js-3.3.0.tgz** (Vulnerable Library)
Found in HEAD commit: ba236fd18ec3e6450d68d675bce1609d2e5d3230
Found in base branch: main
Vulnerability Details
crypto-js is a JavaScript library of crypto standards. Prior to version 4.2.0, crypto-js PBKDF2 is 1,000 times weaker than originally specified in 1993, and at least 1,300,000 times weaker than current industry standard. This is because it both defaults to SHA1, a cryptographic hash algorithm considered insecure since at least 2005, and defaults to one single iteration, a 'strength' or 'difficulty' value specified at 1,000 when specified in 1993. PBKDF2 relies on iteration count as a countermeasure to preimage and collision attacks. If used to protect passwords, the impact is high. If used to generate signatures, the impact is high. Version 4.2.0 contains a patch for this issue. As a workaround, configure crypto-js to use SHA256 with at least 250,000 iterations.
Publish Date: 2023-10-25
URL: CVE-2023-46233
CVSS 3 Score Details (9.1)
Base Score Metrics: - Exploitability Metrics: - Attack Vector: Network - Attack Complexity: Low - Privileges Required: None - User Interaction: None - Scope: Unchanged - Impact Metrics: - Confidentiality Impact: High - Integrity Impact: High - Availability Impact: None
For more information on CVSS3 Scores, click here.Suggested Fix
Type: Upgrade version
Origin: https://www.cve.org/CVERecord?id=CVE-2023-46233
Release Date: 2023-10-25
Fix Resolution: crypto-js - 4.2.0