kjur/jsrsasign · Security
jsrsasign: Division by Zero Allows Invalid JWK Modulus to Cause Deterministic Zero Output in RSA Operations
- GHSA ID
- GHSA-464q-cqxq-xhgr
- CVE ID
- CVE-2026-4603
- Severity
- low
- Published
- Updated
- CVSS
- 5.9 · CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
- CVSS v3
- 5.9 · CVSS:3.1/AV:L/AC:L/PR:N/UI:N/S:U/C:L/I:L/A:L
- CVSS v4
- 2 · 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
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.
CWEs
- CWE-369 · Divide By Zero
References
- https://nvd.nist.gov/vuln/detail/CVE-2026-4603 ↗
- https://github.com/kjur/jsrsasign/pull/649 ↗
- https://github.com/kjur/jsrsasign/commit/dc41d49fac4297e7a737a3ef8ebd0aa9c49ef93f ↗
- https://gist.github.com/Kr0emer/5366b7364c4fbf7e754bc377f321e9f3 ↗
- https://security.snyk.io/vuln/SNYK-JS-JSRSASIGN-15371176 ↗
- https://github.com/advisories/GHSA-464q-cqxq-xhgr ↗