Skip to main content

jsrsasign EUVDEUVD-2026-14375

| CVE-2026-4600 HIGH
Improper Verification of Cryptographic Signature (CWE-347)
2026-03-23 snyk GHSA-wvqx-v3f6-w8rh
8.1
CVSS 4.0 · Vendor: snyk
View

Attack ChainAIDerived

Hypothetical attack flow derived from CVE metadata – not a confirmed exploit chain

  1. Access
    Identify target using jsrsasign <11.1.1
  2. Delivery
    Craft malicious DSA certificate with g=1, y=1, r=1
  3. Exploit
    Submit certificate/JWT to verification endpoint
  4. Execution
    Trigger X509.verifySignature() with malicious parameters
  5. Persist
    Bypass signature validation
  6. Impact
    Gain unauthorized access with forged credentials

Vulnerability Assessment

Weakness
CWE
OWASP Top 10:2025
A04:2025 - Cryptographic Failures
ASVS 5.0
V11 - Cryptography Signature verification
Exploitation Conditions

Exploitation requires the vulnerable application to (1) use jsrsasign library version below 11.1.1 for DSA signature or X.509 certificate verification, (2) accept and process DSA-algorithm certificates or signatures from attacker-controlled or untrusted sources rather than using pre-configured trusted certificates with validated parameters, and (3) allow the attacker to supply domain parameters (p, q, g) and public key (y) values - typically through accepting arbitrary X.509 certificates, JWKS endpoints, or JWTs with embedded public keys. The high attack complexity (AC:H in CVSS vector) reflects that many modern applications default to RSA or ECDSA rather than DSA, and well-architected systems validate certificates against trusted CA roots rather than accepting arbitrary parameters. Exploitation is limited by the decreasing prevalence of DSA in contemporary cryptographic deployments (TLS 1.3 and modern JWT implementations favor ECDSA/EdDSA), and by applications that implement certificate pinning or strict issuer validation. No user interaction (UI:N) or authentication (PR:N) required once the application processes attacker-supplied cryptographic material.

Impact

Real-world risk is moderate and highly context-dependent despite the high CVSS 8.1 score. The CVSS vector (AV:N/AC:H) indicates network-exploitable but high complexity - exploitation requires the application to accept attacker-supplied DSA parameters rather than using trusted, pre-validated domain parameters from certificate authorities or configuration. EPSS score of 0.01% (2nd percentile) suggests minimal automated exploitation attempts, consistent with SSVC assessment that exploitation is not automatable and requires proof-of-concept knowledge. However, technical impact is total per SSVC, meaning successful exploitation completely bypasses authentication/integrity. The attack is practical when applications dynamically parse X.509 certificates or DSA public keys from untrusted sources without parameter validation - common in JWT libraries accepting arbitrary 'alg' headers or certificate chains. Proof-of-concept code exists (GitHub gist from Kr0emer), lowering exploitation barrier for targeted attacks. Priority depends critically on whether your applications (1) use jsrsasign for signature verification, (2) process DSA-signed content (less common than RSA/ECDSA in modern PKI), and (3) accept certificates/keys from untrusted sources. Not in CISA KEV, indicating no confirmed widespread active exploitation.

Exploit ScenarioDerived

An attacker hosting a malicious API gateway sends a client application a crafted JWT token claiming admin privileges, signed with DSA algorithm using domain parameters g=1, y=1, and signature component r=1. The victim application running jsrsasign <11.1.1 calls X509.verifySignature() or KJUR.crypto.DSA verification, which incorrectly validates the token despite the attacker never possessing the legitimate private key. The application grants the attacker administrative access, allowing data exfiltration or privilege escalation. Proof-of-concept exploit code demonstrating parameter manipulation is publicly available at https://gist.github.com/Kr0emer/bf15ddc097176e951659a24a8e9002a7.

This Week Schedule remediation this week. Why: HIGH severity (CVSS 7.0-8.9).
Patch available 0.0% exploitation probability (EPSS)

Get an e-mail when this CVE is exploited, patched or re-scored. Free account.

Alert me

AnalysisAIv2 – Apr 29, 2026

Cryptographic signature bypass in jsrsasign before 11.1.1 allows remote attackers to forge DSA signatures and X.509 certificates by supplying malicious domain parameters (g=1, y=1, r=1) that cause verification functions to incorrectly validate any message hash. This actively undermines authentication and integrity checks in applications using the library for JWT validation, certificate verification, or digital signatures. EPSS score is negligible (0.01%) despite proof-of-concept availability, and CISA SSVC classifies this as requiring proof-of-concept but not automatable, indicating targeted exploitation risk rather than widespread scanning.

Earlier versions of this analysis (1)
v1 Mar 23, 2026 - 05:45 CVSS 7.4

A cryptographic signature verification vulnerability exists in the jsrsasign JavaScript library before version 11.1.1 that allows attackers to forge DSA signatures and X.509 certificates. The vulnerability affects DSA domain-parameter validation in KJUR.crypto.DSA.setPublic, enabling complete bypass of signature verification by supplying malicious domain parameters (g=1, y=1, r=1). A proof-of-concept exploit is publicly available (CVSS:3.1 E:P rating) demonstrating active exploitation feasibility, though the attack complexity is rated high and no KEV listing indicates limited widespread exploitation to date.

RemediationAI

Upgrade jsrsasign to version 11.1.1 or later, which implements proper DSA domain-parameter validation per the fix in GitHub commit 37b4c06b145c7bfd6bc2a6df5d0a12c56b15ef60 and pull request #646 (https://github.com/kjur/jsrsasign/pull/646). Red Hat users should apply patches per their respective RHSA advisories. If immediate upgrade is not feasible, implement these compensating controls with noted trade-offs: (1) Disable DSA algorithm support in signature verification code and reject any certificates or tokens using DSA signatures - this breaks legitimate DSA-signed content but RSA and ECDSA remain functional; (2) Implement strict allowlisting of trusted certificate authorities and reject any certificates with unexpected issuers - reduces attack surface but requires maintaining CA lists and breaks dynamic trust scenarios; (3) Add pre-verification checks to reject DSA public keys where g=1 or y=1 before calling jsrsasign verification functions - requires modifying application code and understanding DSA parameter constraints. Do not rely solely on updating cryptographic libraries in transitive dependencies; verify that your application code and direct dependencies have also upgraded. Test thoroughly as cryptographic library updates can expose previously-masked implementation bugs in consuming applications.

Affected VersionsENISA

jsrsasign 0 <11.1.1

Affected Packages

npm jsrsasign fix: 11.1.1

Source: OSV (Open Source Vulnerabilities)

Affects your stack

Affects 1 package in npm

Checking this CVE against your own stacks and servers is part of the Basic plan and up.

Technical ContextAI · show details

jsrsasign is a pure JavaScript cryptographic library implementing RSA, ECDSA, DSA signature schemes and X.509 certificate handling, commonly used in Node.js and browser environments for JWT token validation and PKI operations. The vulnerability (CWE-347: Improper Verification of Cryptographic Signature) exists in the DSA domain-parameter validation logic within KJUR.crypto.DSA.setPublic and related verification flows in src/dsa-2.0.js. DSA signature verification requires validating that domain parameters (p, q, g) and public key (y) satisfy mathematical properties - specifically that g generates a subgroup of order q. By accepting attacker-controlled parameters where g=1 and y=1, the verification equation (v = r) becomes trivially true when the attacker sets r=1, regardless of the message hash or actual signature value s. This bypasses the fundamental cryptographic assurance that only the holder of the private key can produce valid signatures.

Know when Jsrsasign gets its next vulnerability

  • Watch products and get an email when something new is published
  • Check this CVE against your own stack and servers
  • Exploit and PoC references, threat intelligence from 22 sources

No credit card · 7-day full trial

Severity by source

Vendor (snyk) PRIMARY 8.1 HIGH
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
Red Hat 8.2 HIGH

Primary rating from Vendor (snyk).

CVSS VectorVendor: snyk

Attack Vector
Network
Attack Complexity
High
Attack Requirements
None
Privileges Required
None
User Interaction
None
Vulnerable system: Confidentiality
High
Vulnerable system: Integrity
High
Vulnerable system: Availability
None
Subsequent system: Confidentiality
None
Subsequent system: Integrity
None
Subsequent system: Availability
None

Lifecycle Timeline

4
Analysis Updated
Apr 29, 2026 - 01:34 vuln.today
v2 - CVSS changed
CVSS changed
Apr 29, 2026 - 01:11 NVD
7.4 (HIGH) 8.1 (HIGH)
Patch released
Mar 31, 2026 - 21:13 nvd
Patch available
CVE Published
Mar 23, 2026 - 05:00 nvd
HIGH 7.4

DescriptionCVE.org

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.

Blast Radius

ecosystem impact
† from your stack dependencies † transitive graph · vuln.today resolves 4-path depth
  • 38 npm packages depend on jsrsasign (10 direct, 28 indirect)

Ecosystem-wide dependent count for version 11.1.1.

Executive ViewAI

Why It Matters

jsrsasign versions before 11.1.1 contain a cryptographic signature bypass vulnerability that allows attackers to forge DSA signatures and X.509 certificates, directly compromising authentication and integrity validation in applications relying on this library for JWT, certificate, or digital signature verification. Organizations using jsrsasign must upgrade immediately, as successful exploitation enables attackers to impersonate users, bypass certificate validation, and tamper with signed messages without detection.

Business Impact: High
Compensating Controls

Vendor-released patch: jsrsasign 11.1.1 or later. Apply vendor patch immediately. If immediate patching is impossible, implement external signature validation using independent cryptographic libraries and disable DSA signature schemes in favor of RSA or ECDSA pending patch deployment.

Threat Intelligence Overview

EPSS Score
0.0%
Top 98% exploitable
Threat Intel
1
1 source
Data Quality
8 sources
Confidence: High
EUVD NVD CVE.org EPSS Vulnrichment GHSA Vendor GitHub VulDB

How this decision was reached

The engine reads each signal below and applies a fixed list of rules from top to bottom. The first rule that matches sets the recommended action – like a statement, every line is shown.

SignalValue
Severity HIGH
CISA KEV No
Public POC No
EPSS 0.0%
Patch available Yes
Active threat No
Deciding rule
HIGH severity (CVSS 7.0-8.9)
What every action level means
Emergency Immediate action required. Criteria: CRITICAL + in CISA KEV (actively exploited) without patch, OR CRITICAL + EPSS > 30% without patch, OR CRITICAL + active threat signals without patch.
Act Now Prioritize within 24-48h. Criteria: in KEV with patch available, OR CRITICAL + public POC, OR HIGH + EPSS > 10%, OR CRITICAL + active threat, OR any CRITICAL severity.
This Week Schedule remediation this week. Criteria: HIGH severity (CVSS 7.0-8.9). Patch within normal change window.
This Month Plan within 30 days. Criteria: MEDIUM severity (CVSS 4.0-6.9), lower exploitation probability. Include in regular patch cycle.
Monitor Track and reassess. Criteria: LOW severity (CVSS 0.1-3.9), minimal exploitation risk. No immediate action needed.

SSVC AssessmentENISA

SSVC Decision
Scheduled
Exploitation
Poc
System Exposure· derived
Open
Automatable
No
Human Impact
High
Technical Impact
Total

Priority Score

40
Low Medium High Critical
KEV: 0
EPSS: 0
CVSS: +40
PoC: 0
Weaponized: 0
Threat intel: 0
Gov advisory: 0

Attack Technique

Information disclosure occurs when an application unintentionally exposes sensitive data that aids attackers in reconnaissance or directly compromises security.

Vendor StatusVendor

This site uses cookies essential for authentication and security. No tracking or analytics cookies are used. Privacy Policy