Critical (9.1)

jsrsasign leaks private keys (CVE-2026-4599)

CVE-2026-4599

Versions of the package jsrsasign from 7.0.0 and before 11.1.1 are vulnerable to Incomplete Comparison with Missing Factors via the getRandomBigIntegerZeroToMax and getRandomBigIntegerMinToMax functio...

Overview

A critical cryptographic vulnerability, identified as CVE-2026-4599, has been discovered in the popular jsrsasign JavaScript library. This library is widely used for cryptographic operations like digital signatures, encryption, and certificate handling in web applications and Node.js services. The flaw resides in how the library generates random numbers for DSA (Digital Signature Algorithm) signatures, creating a severe risk of private key exposure.

Vulnerability Details

In simple terms, the functions responsible for generating random numbers (getRandomBigIntegerZeroToMax and getRandomBigIntegerMinToMax) contain an incomplete comparison check. This error allows the generation of random numbers (nonces) that fall outside the intended secure range. When these flawed nonces are used to create DSA digital signatures, they introduce a predictable bias.

An attacker who collects a sufficient number of these biased signatures can perform mathematical cryptanalysis to deduce the system’s private DSA key. This compromises the very foundation of trust for any application using jsrsasign for DSA signatures, as the private key is meant to remain absolutely secret.

Impact

The impact of this vulnerability is severe (CVSS score 9.1). Successful exploitation leads to the complete compromise of any DSA private key used by a vulnerable version of the library. An attacker with the private key can:

  • Forge digital signatures, impersonating legitimate users or services.
  • Decrypt confidential data intended for the compromised key holder.
  • Break authentication mechanisms, potentially gaining unauthorized access to systems. This type of cryptographic failure has historically led to significant breaches. For analysis of past incidents, you can review public breach reports.

Affected Versions

All versions of the jsrsasign package starting from 7.0.0 up to, but not including, 11.1.1 are vulnerable.

Remediation and Mitigation

Immediate action is required to secure affected systems.

Primary Action: Update the Library The only complete remediation is to upgrade the jsrsasign package to version 11.1.1 or later. This version contains the necessary fix for the incomplete comparison checks.

  • For Node.js projects: Run npm update jsrsasign or yarn upgrade jsrsasign.
  • For web applications: Ensure all bundled dependencies use the patched version.

Assessment and Monitoring

  1. Inventory: Identify all applications and services that depend on the jsrsasign library.
  2. Rotate Keys: As a precaution, any DSA private keys that have been used with a vulnerable version should be considered compromised and must be revoked and replaced with new keys after the update.
  3. Monitor: Watch for unusual authentication or signing activity on systems that used vulnerable versions. Stay informed on emerging threats by following the latest security news.

This vulnerability underscores the critical importance of keeping cryptographic libraries up to date. Organizations should prioritize this update due to the high risk of private key disclosure.

Share:

Never miss a critical vulnerability

Get real-time security alerts delivered to your preferred platform.

Am I Affected by CVE-2026-4599?

Pick an ecosystem, paste your installed version, and we'll compare it against the fixed version published on OSV.dev. Browser-only — nothing is sent to a server.

Heuristic comparison only. Always cross-check against the vendor advisory before making patching decisions.

Related Advisories

Never Miss a Critical Alert

CVE advisories, breach reports, and threat intel — delivered daily to your inbox.