Skip to content
Fencer Vulns
critical 9.1

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 more
    affected: workaround, no fix planned “Out of support scope”
  • Red Hat build of Apicurio Registry 2 crypto-js
    affected: 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_9
    fixed: 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_3
    fixed: 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 more
    fixed: 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 more
    fixed: 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

Weakness
  • CWE-328 Use of Weak Hash
  • CWE-916 Use of Password Hash With Insufficient Computational Effort
  • CWE-327 Use of a Broken or Risky Cryptographic Algorithm

References

Sources

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.