CVE-2026-119191: Forge · ASN.1 resource exhaustion via BIT STRING decoding in asn1.fromDer
Affects node-forgeSource GCVE Database
Not known to be exploited · CVSS 7.5 High : upgrade to 1.4.1 soon.
Data as of 10 Nov 2026, 17:35 UTC
Thin evidence
One scorer or none| CNA (GitHub_M) | CVSS 3.1 | 7.5 |
|---|
- Patch
- Available – fixed in 1.4.1
CVSS:3.1/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:N/A:HExploitation evidence
Disclosed: evidence found.
CVE published 29 Oct 2026
Detectable: no evidence on record.
No public nuclei template indexed
Weaponized: no evidence on record.
No public exploit code indexed in Metasploit or Exploit-DB
Exploited in the wildExploited: no evidence on record.
Not in CISA KEV and no source reports exploitation
Observed by OffSeq MirageSeen by Mirage: no evidence on record.
No attack traffic recorded by OffSeq Mirage sensors
A missing step is not evidence of safety. Sources: cve.org (opens in a new tab), the Metasploit, Exploit-DB and nuclei-templates index as of 10 Nov 2026.
What to do
Upgrade node-forge to 1.4.1.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| npmnode-forge | Affected
| Fixed in
|
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
AI-suggested
Upgrade node-forge to version 1.4.1 or later, where the maxDepth recursion limit is properly enforced and only one level of BIT STRING contents is decoded. As a workaround, code that calls forge.asn1.fromDer() directly and does not require decoding encapsulated BIT STRING contents can pass the option {decodeBitStrings: false}, though this changes the parsed structure. Higher-level PKI, PKCS, and TLS APIs do not expose this option and require upgrading to remediate.
Description
The node-forge library's asn1.fromDer() function decodes BIT STRING contents as ASN.1 by default but fails to enforce the maxDepth recursion limit properly, allowing crafted DER or PEM inputs with deeply nested BIT STRINGs to cause excessive CPU and memory consumption. This can lead to denial of service by aborting the Node.js process due to heap exhaustion. The issue is fixed in node-forge version 1.4.1 by enforcing the maxDepth limit and decoding only one level of BIT STRING contents.
References
- github.com/digitalbazaar/forge/security/advisories/GHSA-rhr8-3pm8-cq29 (opens in a new tab)
- nvd.nist.gov/vuln/detail/CVE-2026-119191 (opens in a new tab)
- github.com/digitalbazaar/forge/commit/24035c181f41885ea3ec7279e6c0fcf270b6ec4b (opens in a new tab)
- github.com/digitalbazaar/forge/commit/523c8e74c28457daeff044230dce4a36313c5ab7 (opens in a new tab)
- github.com/digitalbazaar/forge (opens in a new tab)
- github.com/digitalbazaar/forge/releases/tag/v1.4.1 (opens in a new tab)