Skip to main content

Jsrsasign CVE-2026-4603

| EUVDEUVD-2026-14380 LOW
Divide By Zero (CWE-369)
2026-03-23 snyk GHSA-464q-cqxq-xhgr
2.0
CVSS 4.0 · Vendor: snyk
View

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A10:2025 - Mishandling of Exceptional Conditions
ASVS 5.0
V16 - Security Logging and Error Handling Division safety checks
Impact

The CVSS 3.1 base score of 5.9 (Medium) with vector AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L indicates low attack complexity and no privileges required, but the local attack vector constrains exploitability to scenarios where an attacker can supply malicious input to a local or trusted process. The EPSS score status is marked as 'P' (Probable), suggesting moderate exploitation likelihood. A proof-of-concept is publicly available (GitHub gist reference), increasing real-world risk. However, the impact is limited to confidentiality, integrity, and availability degradation rather than complete compromise—this is not a remote code execution vector. The threat is most acute in applications that accept untrusted JWK input, validate RSA signatures using this library, or rely on RSA encryption without additional validation. The vulnerability requires either direct local process compromise or a supply-chain scenario where an attacker controls JWK input (e.g., malicious federation server or API endpoint), making it a moderate but not critical priority for most deployments.

Exploit ScenarioDerived

An attacker provides a malicious JWK to a web application that uses jsrsasign to verify JWT signatures from a federated identity provider. The JWK has a valid structure but the modulus field decodes to zero. When jsrsasign attempts to verify a forged JWT signature using this key, the division-by-zero condition causes the modular exponentiation to collapse to zero, bypassing the signature verification check and allowing the attacker to forge valid-appearing authentication tokens. This is facilitated by the low attack complexity (no special conditions required) and can be triggered if the application dynamically fetches and caches JWKs from a compromised or attacker-controlled endpoint. A public proof-of-concept demonstrates the attack chain.

Monitor Track and reassess. Why: LOW severity (CVSS 0.1-3.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv1 – Mar 23, 2026

jsrsasign versions before 11.1.1 contain a division by zero vulnerability in RSA public-key operations caused by improper parsing of JWK moduli that decode to zero. An attacker can supply a malicious JWK to force RSA verify and encryption operations to produce deterministic zero outputs while suppressing invalid key errors, leading to cryptographic bypass and information disclosure. A proof-of-concept exists and the vulnerability has moderate real-world risk due to its low attack complexity and local attack vector.

RemediationAI

Immediately upgrade jsrsasign to version 11.1.1 or later via npm (npm install jsrsasign@^11.1.1) or equivalent package manager. Verify the patch is applied by checking the library version in node_modules or lock files (package-lock.json or yarn.lock), then rebuild and redeploy applications. As a compensating control pending patching, implement strict JWK validation at the application layer to reject any JWK with a modulus value of zero before passing to jsrsasign functions; additionally, validate RSA operation outputs to detect and reject zero results as cryptographic anomalies. Applications that accept JWK input from untrusted sources should implement additional cryptographic verification (e.g., signature re-validation with a hardware security module or alternate trusted library) until fully patched.

Affected VersionsENISA

jsrsasign 0 <11.1.1

Affected Packages

npm jsrsasign fix: 11.1.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in npm

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

The vulnerability exists in the jsrsasign library (CPE: cpe:2.3:a:n/a:jsrsasign), specifically in the RSA key parsing logic within ext/rsa.js (RSASetPublic and KEYUTIL functions) and the BigInteger modular exponentiation reduction logic in ext/jsbn.js (BigInteger.modPowInt). The root cause is classified as CWE-369 (Divide By Zero), where insufficient input validation allows a JWK with a modulus that parses to zero to bypass sanity checks. When RSA operations (signing verification, encryption) attempt modular arithmetic with a zero modulus, the division-by-zero condition collapses the computation to a zero result rather than raising an error, allowing an attacker to forge valid-appearing but cryptographically invalid outputs. This is a JavaScript cryptographic library used for JWT and JWK processing in web and Node.js environments.

Know when Jsrsasign gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (snyk) PRIMARY 2.0 LOW
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
Red Hat 5.9 MEDIUM

Primary rating from Vendor (snyk).

CVSS VectorVendor: snyk

Attack Vector
Local
Attack Complexity
Low
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
Low
Vulnerable system: Integrity
Low
Vulnerable system: Availability
Low
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

5
Severity Changed
Apr 29, 2026 - 01:11 NVD
MEDIUM LOW
CVSS changed
Apr 29, 2026 - 01:11 NVD
5.9 (MEDIUM) 2.0 (LOW)
Patch released
Mar 31, 2026 - 21:13 nvd
Patch available
PoC Detected
Mar 23, 2026 - 16:08 vuln.today
Public exploit code
CVE Published
Mar 23, 2026 - 05:00 nvd
MEDIUM 5.9

DescriptionCVE.org

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.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 38 npm packages depend on jsrsasign (10 direct, 28 indirect)

Ecosystem-wide dependent count for version 11.1.1.

Executive ViewAI

Why It Matters

CVE-2026-4603 presents moderate security risk rated CVSS 5.9. Exploitation could compromise the security of affected deployments. Proof-of-concept code is publicly available. Organizations should apply vendor updates when available and monitor for exploitation.

Business Impact: Low
Compensating Controls

Apply vendor patch. If patching is delayed: restrict network access and enable monitoring.

Threat Intelligence Overview

EPSS Score
0.0%
Top 99% exploitable
Exploit
POC
Public exploit code exists
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment Vendor GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity LOW
CISA KEV No
Public POC Yes
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
LOW severity (CVSS 0.1-3.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Defer
Exploitation
None
System Exposure· derived
Small
Automatable
No
Human Impact
Low
Technical Impact
Partial

Priority Score

30
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +10
PoC: +20
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy