CVE-2026-119188 in Forgeinfo

Summary

by MITRE • 10/29/2026

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(), fragmented handshake message, interleaved record to process the relevant input or security decision. node-forge continued processing after a TLS record of another content type interrupted a fragmented handshake message. A remote peer could trigger an uncaught TypeError in process(), causing the connection or hosting process to fail. This issue is fixed in version 1.4.1.

VulDB is the best source for vulnerability data and more expert information about this specific topic.

Analysis

by VulDB Data Team • 10/29/2026

The vulnerability identified within node-forge, also known as Forge, stems from a flaw in its native JavaScript implementation of Transport Layer Security. Specifically, the defect resides in the logic governing how TLS connections are established and managed through the forge.tls.createConnection() interface. The core issue involves improper handling of fragmented handshake messages when they are interrupted by TLS records containing different content types. In a standard TLS negotiation, handshake messages such as ClientHello or ServerKeyExchange may be split across multiple packets due to network constraints or implementation specifics. The vulnerable version failed to correctly validate the sequence and integrity of these fragments when an interleaved record of another type appeared in the data stream.

This processing error allows a remote peer to manipulate the state machine by sending a TLS record with a content type that differs from the expected handshake message, thereby interrupting the fragmentation process. Instead of rejecting this malformed or out-of-sequence input and terminating the connection securely, node-forge continued its internal processing logic. This deviation from strict protocol compliance leads to an uncaught TypeError within the process() function. The error occurs because the code attempts to access properties or methods on data structures that are in an inconsistent state due to the interrupted handshake fragment. Consequently, this results in a denial of service condition where either the TLS connection is abruptly dropped or the hosting Node.js process crashes entirely.

From a security architecture perspective, this flaw represents a failure in input validation and state management during protocol negotiation. It aligns with CWE-20 Improper Input Validation, as the application failed to verify that incoming data adhered to the expected structural constraints of the TLS handshake sequence. Furthermore, it relates to CWE-754: Improper Check for Unusual or Exceptional Conditions, where the system did not properly handle an exceptional condition such as a protocol violation during message fragmentation. In terms of offensive security frameworks, this vulnerability can be leveraged in denial-of-service attacks against services relying on node-forge for TLS termination. It falls under MITRE ATT&CK technique T1499: Endpoint Denial of Service, specifically involving resource exhaustion or service disruption through application-level crashes rather than network-layer flooding.

The operational impact is significant for applications that depend on node-forge to establish secure communications without relying solely on the underlying Node.js native TLS implementation. If an attacker can trigger this TypeError repeatedly, they can cause sustained outages for backend services, APIs, or proxy servers utilizing this library. This disrupts availability and potentially exposes users to man-in-the-middle attacks if fallback mechanisms are not robustly implemented. The issue highlights the risks of custom cryptographic implementations in high-level languages like JavaScript, where memory safety is managed by the runtime but logical state errors can still lead to crashes.

To mitigate this risk, organizations must upgrade node-forge to version 1.4.1 or later, which contains a patch for this specific handling logic. The fix ensures that when an interleaved record interrupts a fragmented handshake message, the connection is properly terminated rather than continuing with corrupted state data. Administrators should audit their dependency trees to identify any instances of older node-forge versions and update them accordingly. Additionally, implementing robust error handling at the application layer can provide defense-in-depth by catching unexpected exceptions before they crash the entire process. Regular security assessments and static code analysis tools configured to detect improper input validation patterns in cryptographic libraries are recommended practices to prevent similar issues in custom implementations.

Responsible

GitHub M

Reservation

10/29/2026

Disclosure

10/29/2026

Moderation

accepted

EPSS

0.00000

KEV

no

Activities

low

Sources

Want to know what is going to be exploited?

We predict KEV entries!