CVE-2026-4603

jsrsasign: jsrsasign: Cryptographic operations impacted by division by zero via malicious JSON Web Key

Published Mar 23, 2026 CVSS 4.0 · 5.1 Medium EPSS < 1% KEV · Not listed
Description
Versions of the package jsrsasign before 11.1.1 are vulnerable to Division by zero due to the RSASetPublic/KEYUTIL parsing path in ext/rsa.js and the BigInteger.modPowInt reduction logic in ext/jsbn.js. An attacker can force RSA public-key operations (e.g., verify and encryption) to collapse to deterministic zero outputs and hide “invalid key” errors by supplying a JWK whose modulus decodes to zero.

Analysis

AI-generated

Technical impact

The vulnerability arises from a division by zero error in the RSASetPublic parsing logic and BigInteger.modPowInt reduction used by jsrsasign. An attacker who supplies a JSON Web Key whose modulus decodes to zero can force RSA public‑key operations, such as signature verification and encryption, to produce zero results. The error handling also suppresses the expected “invalid key” message, making detection difficult. This flaw can enable an adversary to bypass cryptographic checks that rely on public‑key verification or to corrupt encrypted data without detection.

Affected Systems

The issue affects the JavaScript library jsrsasign provided by the jsrsasign project, for use in Node.js environments. All package versions released before 11.1.1 are vulnerable; upgrading to 11.1.1 or a later release removes the flaw.

Risk and Exploitability

The vulnerability has a CVSS score of 5.1, indicating medium severity, and an EPSS score of less than 1 %, suggesting low likelihood of exploitation in the near term. It is not listed in the CISA KEV catalog. Exploitation requires an attacker to control the JSON Web Key input supplied to the library, which is typically possible in applications that parse or process JWK data from external sources. No publicly disclosed exploits have been reported, but the deterministic zero output could be leveraged to subvert authentication or data integrity checks.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade the jsrsasign library to version 11.1.1 or later in all affected codebases;

Generated by OpenCVE AI on March 23, 2026 at 17:36 UTC.

Tracking

Sign in to view the affected projects.

Advisories

Source ID Title
Github GHSA Github GHSA GHSA-464q-cqxq-xhgr jsrsasign: Division by Zero Allows Invalid JWK Modulus to Cause Deterministic Zero Output in RSA Operations
History
Type Values Removed Values Added
First Time appeared Jsrsasign Project
Jsrsasign Project jsrsasign
CPEs cpe:2.3:a:jsrsasign_project:jsrsasign:*:*:*:*:*:node.js:*:*
Vendors & Products Jsrsasign Project
Jsrsasign Project jsrsasign
Type Values Removed Values Added
Metrics ssvc

{'options': {'Automatable': 'no', 'Exploitation': 'none', 'Technical Impact': 'partial'}, 'version': '2.0.3'}

Type Values Removed Values Added
Title jsrsasign: jsrsasign: Cryptographic operations impacted by division by zero via malicious JSON Web Key
References
Metrics threat_severity

None

threat_severity

Moderate

Type Values Removed Values Added
First Time appeared Kjur
Kjur jsrsasign
Vendors & Products Kjur
Kjur jsrsasign
Type Values Removed Values Added
Description Versions of the package jsrsasign before 11.1.1 are vulnerable to Division by zero due to the RSASetPublic/KEYUTIL parsing path in ext/rsa.js and the BigInteger.modPowInt reduction logic in ext/jsbn.js. An attacker can force RSA public-key operations (e.g., verify and encryption) to collapse to deterministic zero outputs and hide “invalid key” errors by supplying a JWK whose modulus decodes to zero.
Weaknesses CWE-369
References
Metrics cvssV3_1

{'score': 5.9, 'vector': 'CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L/E:P'}

cvssV4_0

{'score': 5.1, 'vector': 'CVSS:4.0/AV:L/AC:L/AT:N/PR:N/UI:N/VC:L/VI:L/VA:L/SC:N/SI:N/SA:N/E:P'}

Weaknesses

Sources

Status
PUBLISHED
Assigner
snyk
Published
Updated
Mar 23, 2026, 2:42 PM
Reserved
Mar 22, 2026, 4:26 PM
Status
Analyzed
Published
Mar 23, 2026, 6:16 AM
Modified
Jun 22, 2026, 3:18 AM
Severity
Moderate
Public date
Mar 23, 2026, 5:00 AM