CVE-2026-119187: Forge: Denial of service in TLS record processing via call stack exhaustion
Forge (also called node-forge) is a native implementation of Transport Layer Security in JavaScript. Prior to 1.4.1, the affected implementation used forge.tls.createConnection(), TLS record processing, process() to process the relevant input or security decision. node-forge processed received TLS records recursively, consuming one JavaScript stack frame per record in a single input chunk. A remote peer could send thousands of small records together and exhaust the call stack, causing an uncaught exception and denial of service. This issue is fixed in version 1.4.1.
Remediation
Recommended actions to resolve this vulnerability, in priority order.
- Upgrade
Upgrade
node-forgeto a version that resolves this vulnerability.Fixed in 1.4.1
Frequently Asked Questions
Which deployments are exposed to this denial-of-service condition?
Deployments using node-forge prior to version 1.4.1 that process TLS connections through forge.tls.createConnection() are exposed. The issue is reachable from a remote TLS peer and does not require authentication or user interaction.
What does an attacker need to send to trigger the failure?
An attacker needs to send a single input chunk containing thousands of small TLS records. Processing those records recursively consumes JavaScript stack frames until an uncaught exception causes denial of service.
Is there a configuration-based mitigation if upgrading cannot happen immediately?
The available information identifies version 1.4.1 as the fix, but does not specify a configuration workaround. Prioritize upgrading affected node-forge installations to 1.4.1.