CVE-2023-46233 json
crypto-js PBKDF2 1,000 times weaker than specified in 1993 and 1.3M times weaker than current standard
published 2023-10-25 3 y ago modified 2026-09-10 1 mo ago also GHSA-xwcq-pm8m-c4vf , EUVD-2023-2840
- cvss
- 9.1
- version 3.1, CNA
- cisa kev
- Not listed
- not in CISA's catalog
- epss
- 0.6%
- EPSS 0.6% chance of exploitation in 30 days, percentile 50%
- public exploits
- 0
- none known
Summary
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.
Patch / fix
- npm crypto-js 4.2.0
- crypto-js_project crypto-js 4.2.0
- cryptojs Ubuntu 20.04 LTS 3.1.2+dfsg-2ubuntu0.20.04.1
- cryptojs Ubuntu Pro 16.04 LTS 3.1.2+dfsg-2ubuntu0.16.04.1~esm1
- cryptojs Ubuntu Pro 18.04 LTS 3.1.2+dfsg-2ubuntu0.18.04.1~esm1
- cryptojs Ubuntu Pro 22.04 LTS 3.1.2+dfsg-3ubuntu0.22.04.1~esm1
ubuntu advisories UBUNTU-CVE-2023-46233
Ubuntu security data © Canonical Ltd., from https://github.com/canonical/ubuntu-security-notices via OSV; changed: normalised to fixed package versions per release. CC BY-SA 4.0
- dotnet7.0 RHEL 8 7.0.116-1.el8_9
- dotnet-sdk-7.0 RHEL 8 7.0.116-1.el8_9
- dotnet-hostfxr-7.0 RHEL 8 7.0.16-1.el8_9
- dotnet-runtime-7.0 RHEL 8 7.0.16-1.el8_9
- dotnet-templates-7.0 RHEL 8 7.0.116-1.el8_9
- aspnetcore-runtime-7.0 RHEL 8 7.0.16-1.el8_9
- dotnet-apphost-pack-7.0 RHEL 8 7.0.16-1.el8_9
- dotnet-targeting-pack-7.0 RHEL 8 7.0.16-1.el8_9
red hat advisories RHSA-2024:0806RHSA-2024:0805RHSA-2024:0157RHSA-2024:0158RHSA-2024:0151RHSA-2024:0156
Vendor advisories
What the vendors themselves say about their products: affected, fixed or not affected, and what to do.
red hat product security vex CVE-2023-46233 updated cvss 9.1
crypto-js: PBKDF2 1,000 times weaker than specified in 1993 and 1.3M times weaker than current standard
-
Red Hat .NET 6.0 on Red Hat Enterprise Linux rh-dotnet60-dotnet, rh-dotnet60-dotnet-host, rh-dotnet60-dotnet-sdk-6.0, rh-dotnet60-dotnet-hostfxr-6.0, rh-dotnet60-dotnet-runtime-6.0, rh-dotnet60-dotnet-templates-6.0, +6 moreaffected: workaround, no fix planned “Out of support scope”
-
Red Hat build of Apicurio Registry 2 crypto-jsaffected: workaround, no fix available
-
Red Hat CodeReady Linux Builder (v. 8) dotnet-sdk-6.0-source-built-artifacts 6.0.126-1.el8_9, dotnet-sdk-7.0-source-built-artifacts 7.0.115-1.el8_9, dotnet-sdk-7.0-source-built-artifacts 7.0.116-1.el8_9fixed: vendor fix RHSA-2024:0158
-
Red Hat CodeReady Linux Builder (v. 9) dotnet-sdk-6.0-source-built-artifacts 6.0.126-1.el9_3, dotnet-sdk-7.0-source-built-artifacts 7.0.115-1.el9_3, dotnet-sdk-7.0-source-built-artifacts 7.0.116-1.el9_3fixed: vendor fix RHSA-2024:0156
-
Red Hat Enterprise Linux AppStream (v. 8) dotnet6.0 6.0.126-1.el8_9, dotnet7.0 7.0.115-1.el8_9, dotnet7.0 7.0.116-1.el8_9, dotnet-sdk-6.0 6.0.126-1.el8_9, dotnet-sdk-7.0 7.0.115-1.el8_9, dotnet-sdk-7.0 7.0.116-1.el8_9, +21 morefixed: vendor fix RHSA-2024:0158
-
Red Hat Enterprise Linux AppStream (v. 9) dotnet6.0 6.0.126-1.el9_3, dotnet7.0 7.0.115-1.el9_3, dotnet7.0 7.0.116-1.el9_3, dotnet-sdk-6.0 6.0.126-1.el9_3, dotnet-sdk-7.0 7.0.115-1.el9_3, dotnet-sdk-7.0 7.0.116-1.el9_3, +21 morefixed: vendor fix RHSA-2024:0156
Red Hat CSAF VEX © Red Hat, Inc., from https://security.access.redhat.com/data/csaf/v2/vex/; changed: reduced to product statuses and remediations. CC BY 4.0 · csaf
CISA SSVC
- Exploitation
- none
- Automatable
- yes
- Technical impact
- total
- Assessed
- 17 mo ago
Exploit prediction
0.64% chance of exploitation in the next 30 days, higher than 50% of all scored CVEs (FIRST EPSS, 2026-11-08).
CVSS scores
| assigned by | version | score | vector |
|---|---|---|---|
| CNA | 3.1 | 9.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N |
| NVD | 3.1 | 9.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N |
| GitHub | 3.1 | 9.1 | CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N |
Affected packages
| ecosystem | package | affected | fixed in |
|---|---|---|---|
| npm | crypto-js | <4.2.0 |
4.2.0 |
Affected products
- brix crypto-js
Classification
References
-
github.com
/brix/crypto-js/commit/421dd538b2d34e7c24a5b72cc64dc2b9167db40a
web, patch
-
github.com
/brix/crypto-js/security/advisories/GHSA-xwcq-pm8m-c4vf
web, vendor-advisory
-
lists.debian.org
/debian-lts-announce/2023/11/msg00025.html
web
-
nvd.nist.gov
/vuln/detail/CVE-2023-46233
advisory
-
github.com
/brix/crypto-js
package
Sources
- CVE List CVE-2023-46233
- GitHub Advisory GHSA-xwcq-pm8m-c4vf
- NVD CVE-2023-46233
Fencer Vulns keeps one entry per vulnerability: the CVE id wins, then GHSA, and records that alias each other are merged, except that two CVEs always keep separate entries. The same data is available as JSON.