CVE-2026-4598 jsrsasign is vulnerable to DoS through Infinite Loop when processing zero or negative inputs

High 8.7 Published Updated

An attacker can cause a permanent process hang in the jsrsasign library by supplying zero or negative inputs to the BigInteger.modInverse function.

Exploited in the wild
Not known
Login needed
Not needed
Attackable
Over the internet
Victim action needed
Not needed
Fix
Available

What is CVE-2026-4598?

CVE-2026-4598 is a high-severity denial of service vulnerability in jsrsasign, published on 23 Mar 2026. An attacker can exploit it over the internet without logging in, with no action from the victim.

Official description

Versions of the package jsrsasign before 11.1.1 are vulnerable to Infinite loop via the bnModInverse function in ext/jsbn2.js when the BigInteger.modInverse implementation receives zero or negative inputs, allowing an attacker to hang the process permanently by supplying such crafted values (e.g., modInverse(0, m) or modInverse(-1, m)).

Weakness: CWE-1287, CWE-835

Which versions are affected by CVE-2026-4598?

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-4598?

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-4598 being exploited?

It is not confirmed as exploited in the wild, but public exploit code for CVE-2026-4598 exists.

Sources

Also known as GHSA-8g7p-jf3g-gxcp.

Is CVE-2026-4598 in your software?

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

Check your SBOMs for free