Digital Bazaar node-forge: ASN.1 resource exhaustion (CVE-2026-119191)
The node-forge library is vulnerable to a denial of service (DoS) due to inadequate recursion depth enforcement and excessive memory usage during ASN.1 BIT STRING decoding, allowing attackers to crash processes with small, crafted DER or PEM inputs.
CVE search metadata
CVE search record: CVE-2025-66031. Severity: high. CVSS: 7.5. EPSS: 0.45%. KEV: no. Product: node-forge (<= 1.4.0). Brief: Digital Bazaar node-forge: ASN.1 resource exhaustion (CVE-2026-119191). Brief link: https://feed.craftedsignal.io/briefs/2026-11-forge-asn1-resource-exhaustion/
CVE search record: CVE-2026-119191. Severity: high. CVSS: 7.5. EPSS: 0.43%. KEV: no. Product: node-forge (<= 1.4.0). Brief: Digital Bazaar node-forge: ASN.1 resource exhaustion (CVE-2026-119191). Brief link: https://feed.craftedsignal.io/briefs/2026-11-forge-asn1-resource-exhaustion/
Triage facts
Revision 1- Applicability
- node-forge (<= 1.4.0)
- Evidence
- Unknown
- Severity
- Low
- Action
- Elevated
- Sources
- 3 public sources
- Freshness
- Revision 1Nov 10, 16:34 UTC
- Vulnerabilities
- 2 CVEs
- Source quality
- A1Likely
The asn1.fromDer() function in node-forge (versions <= 1.4.0) contains two vulnerabilities that allow for denial of service (DoS) via resource exhaustion. First, recursion depth limits (intended to fix CVE-2025-66031) are not enforced when decoding nested BIT STRING contents. Second, each nested BIT STRING triggers a deep copy of decoded contents, resulting in quadratic memory growth relative to nesting depth.
An unauthenticated attacker can supply small (e.g., 20 KB to 200 KB) crafted DER or PEM files to any application using node-forge for PKI, TLS, or certificate parsing (such as pki.certificateFromPem or pki.publicKeyFromPem), causing excessive CPU usage or fatal memory exhaustion that cannot be caught by the application.
Impact
Successful exploitation results in a crash of the Node.js process. The attack does not allow for unauthorized access, data exfiltration, or remote code execution; it is strictly a denial of service impact. Observed inputs of ~25 KB have triggered fatal out-of-memory errors on Node.js processes with 512 MB heaps.
Recommendation
- Upgrade
node-forgeto version 1.4.1 or later. - Audit applications utilizing
node-forgeto identify entry points for certificate or PEM/DER parsing (e.g., TLS clients, PKCS loaders). - If upgrading is not immediately possible, callers of
forge.asn1.fromDer()can pass the option{decodeBitStrings: false}to mitigate the vulnerability for custom parsing logic, though this alters the resulting object structure.
Immediate actions
Inventory all applications or services utilizing node-forge for PKI or certificate parsing and prioritize for upgrade to 1.4.1.
Threat Hunt
Monitor application logs and system metrics for sudden spikes in memory consumption or Node.js "FATAL ERROR: JavaScript heap out of memory" crashes coinciding with incoming DER/PEM traffic.
Data: Application process logs, System memory usage metrics
Mitigations
Upgrade node-forge to 1.4.1.
CVE-2026-119191