node-forge 1.4.1 also fixes PKCS#12 MAC forgery, an X.509 basicConstraints bypass and several TLS and PEM denial-of-service bugs
GitHub's reviewed advisory database published a batch of node-forge advisories on Oct 30, all affecting 1.4.0 and earlier and fixed in 1.4.1. We covered the AES-GCM tagLength bug (CVE-2026-119186) separately. None of these is reported exploited.
- PKCS#12 MAC forgery (CVE-2026-118782, high, CVSS 7.5):
pkcs12FromAsn1()accepts a MAC iteration count of zero or less, and the key derivation then returns a constant key independent of the password, so an attacker can modify a PFX file and compute a MAC that verifies with any password. - X.509 basicConstraints bypass (CVE-2026-119190, high, 7.4): extensions with the deprecated OIDs 2.5.29.10 and 2.5.29.13 are parsed as
basicConstraintsandverifyCertificateChain()uses the first one, so a forged deprecated extension withcATRUE ahead of the real one lets a non-CA certificate act as a CA. - TLS denial of service (CVE-2026-119187 and CVE-2026-119188, high, 7.5 each): connections from
forge.tls.createConnection()can be crashed before the handshake, by thousands of small records exhausting the call stack or by an 18-byte record interleaved with a fragmented handshake message. A malicious server can also crash the forge TLS client by sending no certificate (CVE-2026-118778, medium). - PEM ReDoS (CVE-2026-118779, high, 7.5):
pem.decode(), used by every API that parses PEM, can block the event loop for seconds to minutes on a crafted input of a few tens of kilobytes. - Lower severity: prototype pollution through
forge.httpSet-Cookie handling (CVE-2026-118777), CA certificates with the same subject being removed from a CA store during verification (CVE-2026-118780), plus an OID truncation and a BigInteger infinite loop rated low.
What to do: upgrade to [email protected] and check transitive copies with npm ls node-forge. Prioritise services that verify certificate chains, import user-supplied PFX files, or accept PEM or TLS input from untrusted peers.
Sources: GitHub advisory GHSA-jc66-7q78-782g (PKCS#12, CVE-2026-118782) · GitHub advisory GHSA-5x38-2vff-x55p (basicConstraints, CVE-2026-119190) · GitHub advisory GHSA-hqq3-7jhf-c5jx (TLS stack exhaustion, CVE-2026-119187) · GitHub advisory GHSA-8hrf-8g6f-7xwp (TLS interleaved record, CVE-2026-119188) · GitHub advisory GHSA-7wch-p9px-956x (PEM ReDoS, CVE-2026-118779) · GitHub advisory GHSA-525v-9gp9-w22h (TLS client crash, CVE-2026-118778) · GitHub advisory GHSA-6wvx-3r32-xmcg (cookie prototype pollution, CVE-2026-118777) · GitHub advisory GHSA-4487-j8r4-4g2f (CA store removal, CVE-2026-118780)