CVE-2026-4603 jsrsasign: Division by Zero Allows Invalid JWK Modulus to Cause Deterministic Zero Output in RSA Operations

Medium 5.1 Published Updated

An attacker can cause denial of service and bypass security checks in jsrsasign by supplying a crafted JWK with a zero modulus.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Local or same network only
Victim action needed
Not needed
Fix
Available

What is CVE-2026-4603?

CVE-2026-4603 is a medium-severity denial of service vulnerability in jsrsasign, published on 23 Mar 2026. It can only be exploited from the same machine or local network, with no action from the victim.

Official 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.

Weakness: CWE-369

Which versions are affected by CVE-2026-4603?

2 open source packages ship an affected version, including jsrsasign. It affects 1 product.

PackageAffectedFixed in
jsrsasign npmAll versions11.1.1
jsrsasign npmAll versions11.1.1

Products include Kjur Jsrsasign.

How do I fix CVE-2026-4603?

Upgrade jsrsasign to 11.1.1 or later.

Upgrade, then put limits on request size, rate and nesting depth so one client cannot exhaust the service. More about Denial of service.

Is CVE-2026-4603 being exploited?

There is no known exploitation of CVE-2026-4603 in the wild and no public exploit code.

Sources

Also known as GHSA-464q-cqxq-xhgr.

Is CVE-2026-4603 in your software?

Upload an SBOM and sbomify checks it against every vulnerability here, every day.

Check your SBOMs for free