MEDIUMCVSS v3.1 5.9Vulnerability

CVE-2026-125332

### Summary A `forge.tls` client accepts any compression method in the ServerHello, although it only offers no compression. An unknown method makes `connection.process()` throw an uncaught `Error` when the client handles ServerHelloDone, before the server is authenticated. A malicious server or an on-path attacker can use this to terminate a Node.js process. Fixed in node-forge 1.4.3. ### Details The client's ClientHello offers only the `null` compression method. `tls.parseHelloMessage()` in `lib/tls.js` stores the ServerHello's `compression_method` for the client without checking it (the code has a `TODO: handle compression methods`). When the client handles ServerHelloDone it calls `tls.createConnectionState()`, which throws `Error('Unsupported compression algorithm.')` for any method other than `null` (0) and `deflate` (1). The exception propagates out of `connection.process()`. The ServerHello isn't authenticated until the server's Finished message, so an on-path attacker can change the compression byte of a genuine ServerHello; the certificate chain still verifies. Applications that pass socket data to `process()` without catching exceptions terminate. This includes `forge.tls.wrapSocket`, which calls `process()` from its socket data handler, and `forge.http`, which uses it. A `deflate` (1) method, also never offered, makes the handshake fail later with an error instead of a crash. Servers are not affected: a server always selects no compression. The fix fails the handshake with an `illegal_parameter` alert, through the connection's `error` callback, when the ServerHello selects any compression method other than `null`. #### Patches Fixed in node-forge 1.4.3. #### Workarounds Catch exceptions thrown by `connection.process()` and close the socket. #### Resources - RFC 5246, section 7.4.1.3 (Server Hello): https://www.rfc-editor.org/rfc/rfc5246#section-7.4.1.3 - Related: GHSA-525v-9gp9-w22h (another TLS client crash during the handshake, fixed in 1.4.1): h

Properties

Summary
Forge: TLS client crash on an unsupported ServerHello compression method
Severity
medium
Nvd fetched at
2026-11-10T23:33:48.924589+00:00
Cvss score
5.9
Cvss severity
MEDIUM
Retrieved at
2026-11-10T23:34:27+00:00
Ghsa published
2026-11-10T21:17:14Z
Source url
https://github.com/advisories/GHSA-w4xr-hqv8-ch44
Ghsa updated
2026-11-10T21:17:15Z
Ghsa id
GHSA-w4xr-hqv8-ch44
Last source
GitHub Advisory Database
Score
5.9
Cvss version
3.1
Cve id
CVE-2026-125332
Cvss vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
First seen by Signal
2026-11-10T19:28:56+00:00
Is ghsa only
false
Vector
CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:N/A:H
Published at
2026-11-10T19:21:10.783
Last modified
2026-11-10T21:46:38.000

Related Entities (4)

HAS_WEAKNESS (2)

AFFECTS (1)

→[Software]npm/node-forge

VULNERABLE_TO (1)

←[Software]npm/node-forge

Related research

Explore deeper with Ninja Signal's threat intelligence graph

CVE-2026-125332 (CVSS v3.1 5.9) — Ninja Signal Threat Intelligence | Ninja Signal