---
title: 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 | ctxsec
url: https://ctxsec.com/items/node-forge-1-4-1-pkcs12-x509-tls-pem-batch-oct-30
description: "Beyond the AES-GCM tag bug covered earlier, GitHub's Oct 30 node-forge batch includes a PKCS#12 MAC forgery via a zero iteration count (CVE-2026-118782), a certificate-chain bypass that lets a leaf pass as a CA through deprecated basicConstraints OIDs (CVE-2026-119190), two unauthenticated TLS record crashes (CVE-2026-119187, 119188) and a PEM-decoding ReDoS (CVE-2026-118779). All affect node-forge 1.4.0 and earlier and are fixed in 1.4.1."
status: "official (GitHub-reviewed advisories, Oct 30)"
published: 2026-11-01
---

> Beyond the AES-GCM tag bug covered earlier, GitHub's Oct 30 node-forge batch includes a PKCS#12 MAC forgery via a zero iteration count (CVE-2026-118782), a certificate-chain bypass that lets a leaf pass as a CA through deprecated basicConstraints OIDs (CVE-2026-119190), two unauthenticated TLS record crashes (CVE-2026-119187, 119188) and a PEM-decoding ReDoS (CVE-2026-118779). All affect node-forge 1.4.0 and earlier and are fixed in 1.4.1.

[← Cybersecurity News](/news) · [markdown](/items/node-forge-1-4-1-pkcs12-x509-tls-pem-batch-oct-30.md)

official (GitHub-reviewed advisories, Oct 30)

2026-11-01

### 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 `basicConstraints` and `verifyCertificateChain()` uses the first one, so a forged deprecated extension with `cA` TRUE 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.http` Set-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 `node-forge@1.4.1` 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)](https://github.com/advisories/GHSA-jc66-7q78-782g) · [GitHub advisory GHSA-5x38-2vff-x55p (basicConstraints, CVE-2026-119190)](https://github.com/advisories/GHSA-5x38-2vff-x55p) · [GitHub advisory GHSA-hqq3-7jhf-c5jx (TLS stack exhaustion, CVE-2026-119187)](https://github.com/advisories/GHSA-hqq3-7jhf-c5jx) · [GitHub advisory GHSA-8hrf-8g6f-7xwp (TLS interleaved record, CVE-2026-119188)](https://github.com/advisories/GHSA-8hrf-8g6f-7xwp) · [GitHub advisory GHSA-7wch-p9px-956x (PEM ReDoS, CVE-2026-118779)](https://github.com/advisories/GHSA-7wch-p9px-956x) · [GitHub advisory GHSA-525v-9gp9-w22h (TLS client crash, CVE-2026-118778)](https://github.com/advisories/GHSA-525v-9gp9-w22h) · [GitHub advisory GHSA-6wvx-3r32-xmcg (cookie prototype pollution, CVE-2026-118777)](https://github.com/advisories/GHSA-6wvx-3r32-xmcg) · [GitHub advisory GHSA-4487-j8r4-4g2f (CA store removal, CVE-2026-118780)](https://github.com/advisories/GHSA-4487-j8r4-4g2f)
