---
id: "CVE-2026-119189"
kind: "vulnerability"
aliases: ["CVE-2026-119189"]
title: "node-forge: certificate path length limit skipped, allowing longer untrusted chains"
severity: "medium"
cvss: 5.9
epss: null
exploited: false
status: "open"
category: "package"
products: []
ecosystems: []
tags: ["javascript", "node-forge", "package", "private-pki", "tls"]
not_affected_if: ["keyusage-present", "no-chain-verification", "public-web-pki-only"]
published_at: "2026-10-29T20:17:29+00:00"
first_seen_at: "2026-10-29T20:26:50+00:00"
updated_at: "2026-10-29T20:28:09+00:00"
sources: [{"source": "nvd", "url": "https://nvd.nist.gov/vuln/detail/CVE-2026-119189", "first_seen_at": "2026-10-29T20:26:50+00:00"}]
---

# node-forge: certificate path length limit skipped, allowing longer untrusted chains

node-forge, a JavaScript TLS and crypto library, skips the pathLenConstraint check on CA certificates that lack a keyUsage extension. An attacker holding such a CA's private key or a subordinate CA certificate from it can build a chain longer than allowed that still passes pki.verifyCertificateChain().

_Summary, check and fix written by a model from the sources; labelled as such._

## How to check

- Check the installed version with `npm ls node-forge`.
- Look for `node-forge` in `package-lock.json`, `yarn.lock` or `pnpm-lock.yaml`.
- Check whether the app uses `pki.verifyCertificateChain()` against private CAs that have pathLenConstraint and no keyUsage.

## Fix

- node-forge: `1.4.1`

## Timeline

- 2026-10-29T20:26:50+00:00 nvd https://nvd.nist.gov/vuln/detail/CVE-2026-119189

## From the sources

Forge (also called node-forge) is a native implementation of Transport Layer Security in JavaScript. Prior to 1.4.1, node-forge enforced an X.509 CA certificate's basicConstraints.pathLenConstraint only when that certificate also carried a keyUsage extension. Exploitation requires a path-length-constrained CA without keyUsage that chains to a root trusted by the application, and an attacker who holds that CA's private key or obtains a subordinate CA certificate from it. The attacker could then construct a chain exceeding the declared path length that still passed pki.verifyCertificateChain(). Public web PKI CA certificates normally include keyUsage; private PKIs with CA certificates created without it are more likely to be affected. This issue is fixed in version 1.4.1.

---

_Free to read at a human pace. An API with keys and an MCP server are in preparation; early access: hello@infrastack.ai_
