Description
Versions of the package jsrsasign before 11.1.1 are vulnerable to Improper Verification of Cryptographic Signature via the DSA domain-parameter validation in KJUR.crypto.DSA.setPublic (and the related DSA/X509 verification flow in src/dsa-2.0.js). An attacker can forge DSA signatures or X.509 certificates that X509.verifySignature() accepts by supplying malicious domain parameters such as g=1, y=1, and a fixed r=1, which make the verification equation true for any hash.
Published: 2026-03-23
Score: 9.1 Critical
EPSS: < 1% Very Low
KEV: No
Impact: Cryptographic signature forgery
Action: Immediate Patch
AI Analysis

Impact

Versions of the jsrsasign package before 11.1.1 contain a flaw that allows an attacker to forge DSA signatures or X.509 certificates that the library’s verification functions will accept. By supplying malicious domain parameters – for example, setting the generator to 1, the public key to 1, and fixing the signature component r to 1 – the mathematical check performed by DSA.setPublic and X509.verifySignature passes for any hash. This undermines the integrity guarantees of authentication or data protection mechanisms that rely on JavaScript or Node.js code to validate signed data.

Affected Systems

All Node.js applications that depend on jsrsasign older than 11.1.1 and use its DSA or X.509 verification routines are affected. This includes any project that imports KJUR.crypto.DSA.setPublic or X509.verifySignature to verify signatures or certificates, regardless of deployment environment.

Risk and Exploitability

The flaw has a high CVSS score of 9.1, indicating severe potential impact if exploited. The probability of exploitation is currently low, but the vulnerability could be triggered remotely by supplying crafted data to any component that uses the library for signature or certificate verification. It is not listed in the national vulnerability inventory, yet the high severity warrants immediate action once the library is in use.

Generated by OpenCVE AI on March 23, 2026 at 17:52 UTC.

Remediation

No vendor fix or workaround currently provided.

OpenCVE Recommended Actions

  • Upgrade jsrsasign to version 11.1.1 or later.
  • Verify the installed package version, ensuring it includes the patch.
  • Re‑run any tests that cover DSA or X.509 verification to confirm the issue is resolved.
  • If upgrading is not possible immediately, restrict jsrsasign to trusted inputs and do not accept arbitrary DSA parameters from external sources.
  • Consider replacing jsrsasign with an alternative library that enforces strict domain‑parameter validation as a last resort.

Generated by OpenCVE AI on March 23, 2026 at 17:52 UTC.

Tracking

Sign in to view the affected projects.

Advisories
Source ID Title
Github GHSA Github GHSA GHSA-wvqx-v3f6-w8rh jsrsasign: DSA signatures or X.509 certificates can be forged via DSA domain-parameter validation in KJUR.crypto.DSA.setPublic
History

Mon, 23 Mar 2026 16:45:00 +0000

Type Values Removed Values Added
First Time appeared Jsrsasign Project
Jsrsasign Project jsrsasign
CPEs cpe:2.3:a:jsrsasign_project:jsrsasign:*:*:*:*:*:node.js:*:*
Vendors & Products Jsrsasign Project
Jsrsasign Project jsrsasign

Mon, 23 Mar 2026 12:15:00 +0000

Type Values Removed Values Added
Title jsrsasign: jsrsasign: Cryptographic signature forgery via malicious DSA domain parameters
References
Metrics threat_severity

None

threat_severity

Important


Mon, 23 Mar 2026 10:00:00 +0000

Type Values Removed Values Added
First Time appeared Kjur
Kjur jsrsasign
Vendors & Products Kjur
Kjur jsrsasign

Mon, 23 Mar 2026 05:45:00 +0000

Type Values Removed Values Added
Description Versions of the package jsrsasign before 11.1.1 are vulnerable to Improper Verification of Cryptographic Signature via the DSA domain-parameter validation in KJUR.crypto.DSA.setPublic (and the related DSA/X509 verification flow in src/dsa-2.0.js). An attacker can forge DSA signatures or X.509 certificates that X509.verifySignature() accepts by supplying malicious domain parameters such as g=1, y=1, and a fixed r=1, which make the verification equation true for any hash.
Weaknesses CWE-347
References
Metrics cvssV3_1

{'score': 7.4, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N/E:P'}

cvssV4_0

{'score': 9.1, 'vector': 'CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:N/SA:N/E:P'}


Subscriptions

Jsrsasign Project Jsrsasign
Kjur Jsrsasign
cve-icon MITRE

Status: PUBLISHED

Assigner: snyk

Published:

Updated: 2026-03-23T15:53:02.042Z

Reserved: 2026-03-22T16:26:03.357Z

Link: CVE-2026-4600

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Analyzed

Published: 2026-03-23T06:16:21.697

Modified: 2026-03-23T16:41:55.403

Link: CVE-2026-4600

cve-icon Redhat

Severity : Important

Publid Date: 2026-03-23T05:00:08Z

Links: CVE-2026-4600 - Bugzilla

cve-icon OpenCVE Enrichment

Updated: 2026-03-25T14:49:52Z

Weaknesses