CVE-2025-66031: node-forge ASN.1 Unbounded Recursion
Summary
An Uncontrolled Recursion (CWE-674) vulnerability in node-forge versions 1.3.1 and below enables remote, unauthenticated attackers to craft deep ASN.1 structures that trigger unbounded recursive parsing. This leads to a Denial-of-Service (DoS) via stack exhaustion when parsing untrusted DER inputs.
Details
An ASN.1 Denial of Service (Dos) vulnerability exists in the node-forge asn1.fromDer function within forge/lib/asn1.js. The ASN.1 DER parser implementation (fromDer) recurses for every constructed ASN.1 value (SEQUENCE, SET, etc.) and lacks a guard limiting recursion depth. An attacker can craft a small DER blob containing a very large nesting depth of constructed TLVs which causes the Node.js V8 engine to exhaust its call stack and throw RangeError: Maximum call stack size exceeded, crashing or incapacitating the process handling the parse. This is a remote, low-cost Denial-of-Service against applications that parse untrusted ASN.1 objects.
Impact
This vulnerability enables an unauthenticated attacker to reliably crash a server or client using node-forge for TLS connections or certificate parsing.
This vulnerability impacts the ans1.fromDer function in node-forge before patched version 1.3.2.
Any downstream application using this component is impacted. These components may be leveraged by downstream applications in ways that enable full compromise of availability.
Other sources
Forge (also called node-forge) is a native implementation of Transport Layer Security in JavaScript. An Uncontrolled Recursion vulnerability in node-forge versions 1.3.1 and below enables remote, unauthenticated attackers to craft deep ASN.1 structures that trigger unbounded recursive parsing. This leads to a Denial-of-Service (DoS) via stack exhaustion when parsing untrusted DER inputs. This issue has been patched in version 1.3.2.
— MITRE
Affected Software
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
npm/node-forgeto a version that resolves this vulnerability.Fixed in 1.3.2 - Upgrade
Upgrade
node-forge (forge/lib/asn1.js)to a version that resolves this vulnerability.Fixed in 1.3.2
Event History
Frequently Asked Questions
What is the severity of CVE-2025-66031?
CVE-2025-66031 has a high severity due to its potential to cause Denial-of-Service (DoS) attacks through stack exhaustion.
How do I fix CVE-2025-66031?
To fix CVE-2025-66031, upgrade node-forge to version 1.3.2 or higher.
What versions of node-forge are affected by CVE-2025-66031?
CVE-2025-66031 affects node-forge versions 1.3.1 and below.
What type of vulnerability is CVE-2025-66031?
CVE-2025-66031 is classified as an Uncontrolled Recursion vulnerability (CWE-674).
What impact does CVE-2025-66031 have?
The impact of CVE-2025-66031 is a Denial-of-Service (DoS) condition due to unbounded recursive parsing of ASN.1 structures.