CVE-2026-4603: jsrsasign: Division by Zero Allows Invalid JWK Modulus to Cause Deterministic Zero Output in RSA Operations
(updated )
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.
References
- gist.github.com/Kr0emer/5366b7364c4fbf7e754bc377f321e9f3
- github.com/advisories/GHSA-464q-cqxq-xhgr
- github.com/kjur/jsrsasign
- github.com/kjur/jsrsasign/commit/dc41d49fac4297e7a737a3ef8ebd0aa9c49ef93f
- github.com/kjur/jsrsasign/pull/649
- nvd.nist.gov/vuln/detail/CVE-2026-4603
- security.snyk.io/vuln/SNYK-JS-JSRSASIGN-15371176
Code Behaviors & Features
Detect and mitigate CVE-2026-4603 with GitLab Dependency Scanning
Secure your software supply chain by verifying that all open source dependencies used in your projects contain no disclosed vulnerabilities. Learn more about Dependency Scanning →