CVE-2026-4601
Versions of the package jsrsasign before 11.1.1 are vulnerable to Missing Cryptographic Step via the KJUR.crypto.DSA.signWithMessageHash process in the DSA signing implementation. An attacker can recover the private key by forcing r or s to be zero, so the library emits an invalid signature without retrying, and then solves for x from the resulting signature.
CVSS
- Version: 4.0
- Vector: CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:H/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X
- Base score: 8.8
Exploitation probability (EPSS)
- Probability of exploitation in the next 30 days: 0.47%
- Percentile among all scored CVEs: 38
- Score date: 10/5/2026
EPSS (Exploit Prediction Scoring System, FIRST) estimates how likely a vulnerability is to be exploited in the wild within 30 days. It complements CVSS (impact) and CISA KEV (confirmed exploitation).
🎯 ATT&CK techniques
How this vulnerability is exploited and what the attacker gains, in MITRE ATT&CK terms.
- Exploitation
T1190Exploit Public-Facing Applicationinitial access75 % - Primary impact
T1212Exploitation for Credential Accesscredential access85 % - Secondary impact
T1556Modify Authentication Processdefense impairment · persistence · credential access70 %
Biblioteca JavaScript expuesta en red (jsrsasign) con fallo criptográfico que permite recuperar la clave privada del DSA mediante exploración de r/s=0 en firmas. CWE-325 (Missing Cryptographic Step) facilita compromiso de credenciales.
Inferred by our analysis agent from the official description, CVSS vector and CWE, and checked by a supervisor. May contain errors.
🛡️ ATT&CK mitigations that cover these techniques
Affected technologies (1)
CWEs
- CWE-325
- CWE-325
References
- https://gist.github.com/Kr0emer/93789fe6efe5519db9692d4ad1dad586
- https://github.com/kjur/jsrsasign/commit/0710e392ec35de697ce11e4219c988ba2b5fe0eb
- https://github.com/kjur/jsrsasign/pull/645
- https://security.snyk.io/vuln/SNYK-JAVA-ORGWEBJARSNPM-15812269
- https://security.snyk.io/vuln/SNYK-JS-JSRSASIGN-15370941
- https://access.redhat.com/errata/RHSA-2026:19375
- https://access.redhat.com/errata/RHSA-2026:19409
- https://access.redhat.com/errata/RHSA-2026:19410
- https://access.redhat.com/errata/RHSA-2026:6568
- https://access.redhat.com/errata/RHSA-2026:6720
- https://access.redhat.com/errata/RHSA-2026:6912
- https://access.redhat.com/errata/RHSA-2026:6926
- https://access.redhat.com/security/cve/CVE-2026-4601
- https://bugzilla.redhat.com/show_bug.cgi?id=2450209
- https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-4601.json
Raw JSON (NVD)
Show
{
"id": "CVE-2026-4601",
"cveTags": [],
"metrics": {
"ssvcV203": [
{
"source": "134c704f-9b21-4f2e-91b3-4a467353bcc0",
"ssvcData": {
"id": "CVE-2026-4601",
"role": "CISA Coordinator",
"options": [
{
"exploitation": "none"
},
{
"automatable": "no"
},
{
"technicalImpact": "total"
}
],
"version": "2.0.3",
"timestamp": "2026-03-23T14:41:01.570897Z"
}
}
],
"cvssMetricV31": [
{
"type": "Secondary",
"source": "report@snyk.io",
"cvssData": {
"scope": "CHANGED",
"version": "3.1",
"baseScore": 8.7,
"attackVector": "NETWORK",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N",
"integrityImpact": "HIGH",
"userInteraction": "NONE",
"attackComplexity": "HIGH",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "HIGH"
},
"impactScore": 5.8,
"exploitabilityScore": 2.2
},
{
"type": "Primary",
"source": "nvd@nist.gov",
"cvssData": {
"scope": "UNCHANGED",
"version": "3.1",
"baseScore": 9.1,
"attackVector": "NETWORK",
"baseSeverity": "CRITICAL",
"vectorString": "CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:H/I:H/A:N",
"integrityImpact": "HIGH",
"userInteraction": "NONE",
"attackComplexity": "LOW",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "HIGH"
},
"impactScore": 5.2,
"exploitabilityScore": 3.9
},
{
"type": "Secondary",
"source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
"cvssData": {
"scope": "CHANGED",
"version": "3.1",
"baseScore": 8.7,
"attackVector": "NETWORK",
"baseSeverity": "HIGH",
"vectorString": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:C/C:H/I:H/A:N",
"integrityImpact": "HIGH",
"userInteraction": "NONE",
"attackComplexity": "HIGH",
"availabilityImpact": "NONE",
"privilegesRequired": "NONE",
"confidentialityImpact": "HIGH"
},
"impactScore": 5.8,
"exploitabilityScore": 2.2
}
],
"cvssMetricV40": [
{
"type": "Secondary",
"source": "report@snyk.io",
"cvssData": {
"Safety": "NOT_DEFINED",
"version": "4.0",
"Recovery": "NOT_DEFINED",
"baseScore": 8.8,
"Automatable": "NOT_DEFINED",
"attackVector": "NETWORK",
"baseSeverity": "HIGH",
"valueDensity": "NOT_DEFINED",
"vectorString": "CVSS:4.0/AV:N/AC:H/AT:N/PR:N/UI:N/VC:H/VI:H/VA:N/SC:N/SI:H/SA:N/E:P/CR:X/IR:X/AR:X/MAV:X/MAC:X/MAT:X/MPR:X/MUI:X/MVC:X/MVI:X/MVA:X/MSC:X/MSI:X/MSA:X/S:X/AU:X/R:X/V:X/RE:X/U:X",
"exploitMaturity": "PROOF_OF_CONCEPT",
"providerUrgency": "NOT_DEFINED",
"userInteraction": "NONE",
"attackComplexity": "HIGH",
"attackRequirements": "NONE",
"privilegesRequired": "NONE",
"subIntegrityImpact": "HIGH",
"vulnIntegrityImpact": "HIGH",
"integrityRequirement": "NOT_DEFINED",
"modifiedAttackVector": "NOT_DEFINED",
"subAvailabilityImpact": "NONE",
"vulnAvailabilityImpact": "NONE",
"availabilityRequirement": "NOT_DEFINED",
"modifiedUserInteraction": "NOT_DEFINED",
"modifiedAttackComplexity": "NOT_DEFINED",
"subConfidentialityImpact": "NONE",
"vulnConfidentialityImpact": "HIGH",
"confidentialityRequirement": "NOT_DEFINED",
"modifiedAttackRequirements": "NOT_DEFINED",
"modifiedPrivilegesRequired": "NOT_DEFINED",
"modifiedSubIntegrityImpact": "NOT_DEFINED",
"modifiedVulnIntegrityImpact": "NOT_DEFINED",
"vulnerabilityResponseEffort": "NOT_DEFINED",
"modifiedSubAvailabilityImpact": "NOT_DEFINED",
"modifiedVulnAvailabilityImpact": "NOT_DEFINED",
"modifiedSubConfidentialityImpact": "NOT_DEFINED",
"modifiedVulnConfidentialityImpact": "NOT_DEFINED"
}
}
]
},
"affected": [
{
"source": "report@snyk.io",
"affectedData": [
{
"vendor": "n/a",
"product": "jsrsasign",
"versions": [
{
"status": "affected",
"version": "0",
"lessThan": "11.1.1",
"versionType": "semver"
}
]
},
{
"vendor": "n/a",
"product": "org.webjars.npm:jsrsasign",
"versions": [
{
"status": "affected",
"version": "0",
"lessThan": "*",
"versionType": "semver"
}
]
}
]
},
{
"source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
"affectedData": [
{
"cpes": [
"cpe:/a:redhat:migration_toolkit_virtualization:2.10::el9"
],
"vendor": "Red Hat",
"product": "Migration Toolkit for Virtualization 2.1",
"versions": [
{
"status": "unaffected",
"version": "1779139872",
"lessThan": "*",
"versionType": "rpm"
}
],
"packageName": "migration-toolkit-virtualization/mtv-console-plugin-rhel9",
"collectionURL": "https://catalog.redhat.com/software/containers/",
"defaultStatus": "affected"
},
{
"cpes": [
"cpe:/a:redhat:migration_toolkit_virtualization:2.9::el9"
],
"vendor": "Red Hat",
"product": "Migration Toolkit for Virtualization 2.9",
"versions": [
{
"status": "unaffected",
"version": "1778927462",
"lessThan": "*",
"versionType": "rpm"
}
],
"packageName": "migration-toolkit-virtualization/mtv-console-plugin-rhel9",
"collectionURL": "https://catalog.redhat.com/software/containers/",
"defaultStatus": "affected"
},
{
"cpes": [
"cpe:/a:redhat:quay:3.10::el8"
],
"vendor": "Red Hat",
"product": "Red Hat Quay 3.10",
"versions": [
{
"status": "unaffected",
"version": "1775169155",
"lessThan": "*",
"versionType": "rpm"
}
],
"packageName": "quay/quay-rhel8",
"collectionURL": "https://catalog.redhat.com/software/containers/",
"defaultStatus": "affected"
},
{
"cpes": [
"cpe:/a:redhat:quay:3.12::el8"
],
"vendor": "Red Hat",
"product": "Red Hat Quay 3.12",
"versions": [
{
"status": "unaffected",
"version": "1775253092",
"lessThan": "*",
"versionType": "rpm"
}
],
"packageName": "quay/quay-rhel8",
"collectionURL": "https://catalog.redhat.com/software/containers/",
"defaultStatus": "affected"
},
{
"cpes": [
"cpe:/a:redhat:quay:3.15::el8"
],
"vendor": "Red Hat",
"product": "Red Hat Quay 3.15",
"versions": [
{
"status": "unaffected",
"version": "1775169219",
"lessThan": "*",
"versionType": "rpm"
}
],
"packageName": "quay/quay-rhel8",
"collectionURL": "https://catalog.redhat.com/software/containers/",
"defaultStatus": "affected"
},
{
"cpes": [
"cpe:/a:redhat:quay:3.16::el9"
],
"vendor": "Red Hat",
"product": "Red Hat Quay 3.16",
"versions": [
{
"status": "unaffected",
"version": "1779204086",
"lessThan": "*",
"versionType": "rpm"
}
],
"packageName": "quay/quay-rhel9",
"collectionURL": "https://catalog.redhat.com/software/containers/",
"defaultStatus": "affected"
},
{
"cpes": [
"cpe:/a:redhat:quay:3.9::el8"
],
"vendor": "Red Hat",
"product": "Red Hat Quay 3.9",
"versions": [
{
"status": "unaffected",
"version": "1775169218",
"lessThan": "*",
"versionType": "rpm"
}
],
"packageName": "quay/quay-rhel8",
"collectionURL": "https://catalog.redhat.com/software/containers/",
"defaultStatus": "affected"
}
]
}
],
"published": "2026-03-23T06:16:21.893",
"references": [
{
"url": "https://gist.github.com/Kr0emer/93789fe6efe5519db9692d4ad1dad586",
"tags": [
"Exploit",
"Mitigation",
"Third Party Advisory"
],
"source": "report@snyk.io"
},
{
"url": "https://github.com/kjur/jsrsasign/commit/0710e392ec35de697ce11e4219c988ba2b5fe0eb",
"tags": [
"Patch"
],
"source": "report@snyk.io"
},
{
"url": "https://github.com/kjur/jsrsasign/pull/645",
"tags": [
"Issue Tracking"
],
"source": "report@snyk.io"
},
{
"url": "https://security.snyk.io/vuln/SNYK-JAVA-ORGWEBJARSNPM-15812269",
"source": "report@snyk.io"
},
{
"url": "https://security.snyk.io/vuln/SNYK-JS-JSRSASIGN-15370941",
"tags": [
"Third Party Advisory"
],
"source": "report@snyk.io"
},
{
"url": "https://access.redhat.com/errata/RHSA-2026:19375",
"source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c"
},
{
"url": "https://access.redhat.com/errata/RHSA-2026:19409",
"source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c"
},
{
"url": "https://access.redhat.com/errata/RHSA-2026:19410",
"source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c"
},
{
"url": "https://access.redhat.com/errata/RHSA-2026:6568",
"source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c"
},
{
"url": "https://access.redhat.com/errata/RHSA-2026:6720",
"source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c"
},
{
"url": "https://access.redhat.com/errata/RHSA-2026:6912",
"source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c"
},
{
"url": "https://access.redhat.com/errata/RHSA-2026:6926",
"source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c"
},
{
"url": "https://access.redhat.com/security/cve/CVE-2026-4601",
"source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c"
},
{
"url": "https://bugzilla.redhat.com/show_bug.cgi?id=2450209",
"source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c"
},
{
"url": "https://security.access.redhat.com/data/csaf/v2/vex/2026/cve-2026-4601.json",
"source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c"
}
],
"vulnStatus": "Modified",
"weaknesses": [
{
"type": "Secondary",
"source": "report@snyk.io",
"description": [
{
"lang": "en",
"value": "CWE-325"
}
]
},
{
"type": "Secondary",
"source": "0b0ca135-0b70-47e7-9f44-1890c2a1c46c",
"description": [
{
"lang": "en",
"value": "CWE-325"
}
]
}
],
"descriptions": [
{
"lang": "en",
"value": "Versions of the package jsrsasign before 11.1.1 are vulnerable to Missing Cryptographic Step via the KJUR.crypto.DSA.signWithMessageHash process in the DSA signing implementation. An attacker can recover the private key by forcing r or s to be zero, so the library emits an invalid signature without retrying, and then solves for x from the resulting signature."
},
{
"lang": "es",
"value": "Las versiones del paquete jsrsasign anteriores a la 11.1.1 son vulnerables a Paso Criptográfico Faltante a través del proceso KJUR.crypto.DSA.signWithMessageHash en la implementación de firma DSA. Un atacante puede recuperar la clave privada forzando a r o s a ser cero, de modo que la biblioteca emite una firma inválida sin reintentar, y luego resuelve para x a partir de la firma resultante."
}
],
"lastModified": "2026-09-10T13:20:22.510",
"configurations": [
{
"nodes": [
{
"negate": false,
"cpeMatch": [
{
"criteria": "cpe:2.3:a:kjur:jsrsasign:*:*:*:*:*:node.js:*:*",
"vulnerable": true,
"matchCriteriaId": "46D62CE4-1F1B-44DF-BFAB-86FE57D7A194",
"versionEndExcluding": "11.1.1"
}
],
"operator": "OR"
}
]
}
],
"sourceIdentifier": "report@snyk.io"
}