{"id":"GHSA-554w-wpv2-vw27","revision":"543d97492fa6494180494ebf2ef9b734","records":[{"revision":"543d97492fa6494180494ebf2ef9b734","observedAt":"2026-10-24T13:17:17.793+00:00","statement":{"source":"osv","id":"GHSA-554w-wpv2-vw27","aliases":["CVE-2025-66031"],"title":"node-forge has ASN.1 Unbounded Recursion","description":"### Summary\n\nAn 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.\n\n### Details\n\nAn 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.\n\n### Impact\n\nThis vulnerability enables an unauthenticated attacker to reliably crash a server or client using node-forge for TLS connections or certificate parsing.\n\nThis vulnerability impacts the ans1.fromDer function in `node-forge` before patched version `1.3.2`. \n\nAny downstream application using this component is impacted. These components may be leveraged by downstream applications in ways that enable full compromise of availability.","state":0,"publishedAt":"2025-11-26T22:08:37+00:00","modifiedAt":"2026-09-10T03:50:30.4749852+00:00","affected":[{"ecosystem":"npm","name":"node-forge","ranges":[{"type":"SEMVER","events":[{"kind":"introduced","version":"0"},{"kind":"fixed","version":"1.3.2"}]}],"versions":[],"rawVersionEvidence":null}],"metrics":[{"system":"CVSS_V4","vector":"CVSS:4.0/AV:N/AC:L/AT:N/PR:N/UI:N/VC:N/VI:N/VA:H/SC:N/SI:N/SA:N","score":null,"severity":null},{"system":"Publisher rating","vector":null,"score":null,"severity":"HIGH"}],"references":["https://github.com/digitalbazaar/forge/security/advisories/GHSA-554w-wpv2-vw27","https://github.com/digitalbazaar/forge/commit/260425c6167a38aae038697132483b5517b26451","https://github.com/digitalbazaar/forge"],"sourceUrl":"https://github.com/advisories/GHSA-554w-wpv2-vw27","license":"GitHub Advisory Database · CC-BY-4.0","key":"osv:GHSA-554w-wpv2-vw27","identifiers":["GHSA-554w-wpv2-vw27","CVE-2025-66031"]},"retained":false,"historicalAffected":[]}],"coverage":[]}