Description
Forge (also called node-forge) is a native implementation of Transport Layer Security in JavaScript. Prior to 1.4.1, node-forge parsed deprecated extension OIDs 2.5.29.10 and 2.5.29.13 as basicConstraints, and pki.verifyCertificateChain() used the first extension with that name. Exploitation requires a CA trusted by the application to issue a certificate carrying an attacker-supplied deprecated-OID extension, commonly because the CA copies extensions from a certificate signing request. By placing a permissive deprecated extension before the genuine 2.5.29.19 basicConstraints extension, the certificate holder could have the certificate accepted as a CA and issue certificates for arbitrary names, enabling server or client impersonation. If the issuing CA adds a keyUsage extension without keyCertSign, node-forge rejects the chain. This issue is fixed in version 1.4.1.
Published: 2026-10-29
Score: 7.4 High
EPSS: n/a
KEV: No
Impact: Impersonation / MITM
Action: Patch ASAP
AI Analysis

Impact

Forge, a JavaScript implementation of TLS, incorrectly treated deprecated extension OIDs 2.5.29.10 and 2.5.29.13 as basicConstraints. This flaw allows an attacker to insert a permissive deprecated extension before the real basicConstraints extension in a certificate chain. When the issuer is a CA trusted by the application, the certificate can be accepted as a CA and used to issue certificates for arbitrary names, enabling server or client impersonation. The weakness is rooted in improper verification of cryptographic parameters (CWE‑295) and the use of deprecated functions (CWE‑436).

Affected Systems

The affected product is digitalbazaar's Forge (node-forge). Any installation running a version prior to 1.4.1 is vulnerable. Users of earlier node-forge releases that rely on pki.verifyCertificateChain() for TLS/SSL verification must evaluate whether they accept certificates issued by trusted CAs that might contain the deprecated OIDs.

Risk and Exploitability

With a CVSS score of 7.4, the flaw is rated high severity. The EPSS score is not available, and the vulnerability is not listed in the CISA KEV catalog. Exploitation requires that an attacker control a trusted CA or influence a CA to issue a certificate carrying the deprecated extensions. Once a chain containing such a certificate is accepted, the attacker can generate a seemingly valid certificate for any domain, enabling man‑in‑the‑middle attacks or impersonation of services. The attack vector is thus limited to environments that depend on node-forge for TLS certificate validation and trust any CA that might include the deprecated extensions.

Generated by OpenCVE AI on October 29, 2026 at 20:35 UTC.

Remediation

No solution or workaround provided in the CVE record.

OpenCVE Recommended Actions

  • Upgrade node-forge to version 1.4.1 or later.
  • Ensure that any CA certificates used by the application do not contain the deprecated extension OIDs 2.5.29.10 or 2.5.29.13 and that basicConstraints are correctly specified.
  • If possible, validate the CA’s keyUsage extension to confirm that keyCertSign is present before accepting the certificate chain.

Generated by OpenCVE AI on October 29, 2026 at 20:35 UTC.

Tracking

Sign in to view the affected projects.

Advisories

No advisories yet.

History

Thu, 29 Oct 2026 20:45:00 +0000

Type Values Removed Values Added
First Time appeared Digitalbazaar
Digitalbazaar forge
Vendors & Products Digitalbazaar
Digitalbazaar forge

Thu, 29 Oct 2026 19:45:00 +0000

Type Values Removed Values Added
Description Forge (also called node-forge) is a native implementation of Transport Layer Security in JavaScript. Prior to 1.4.1, node-forge parsed deprecated extension OIDs 2.5.29.10 and 2.5.29.13 as basicConstraints, and pki.verifyCertificateChain() used the first extension with that name. Exploitation requires a CA trusted by the application to issue a certificate carrying an attacker-supplied deprecated-OID extension, commonly because the CA copies extensions from a certificate signing request. By placing a permissive deprecated extension before the genuine 2.5.29.19 basicConstraints extension, the certificate holder could have the certificate accepted as a CA and issue certificates for arbitrary names, enabling server or client impersonation. If the issuing CA adds a keyUsage extension without keyCertSign, node-forge rejects the chain. This issue is fixed in version 1.4.1.
Title Forge: X.509 basicConstraints bypass in verifyCertificateChain() via deprecated extension OIDs 2.5.29.10 and 2.5.29.13
Weaknesses CWE-295
CWE-436
References
Metrics cvssV3_1

{'score': 7.4, 'vector': 'CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:H/I:H/A:N'}


Subscriptions

Digitalbazaar Forge
cve-icon MITRE

Status: PUBLISHED

Assigner: GitHub_M

Published:

Updated: 2026-10-29T20:25:04.131Z

Reserved: 2026-10-29T16:04:48.728Z

Link: CVE-2026-119190

cve-icon Vulnrichment

No data.

cve-icon NVD

Status : Received

Published: 2026-10-29T20:17:30.067

Modified: 2026-10-29T20:17:30.067

Link: CVE-2026-119190

cve-icon Redhat

No data.

cve-icon OpenCVE Enrichment

Updated: 2026-10-29T20:30:18Z

Weaknesses
  • CWE-295

    Improper Certificate Validation

  • CWE-436

    Interpretation Conflict