CVE-2026-33896
Received Received - Intake
Certificate Validation Bypass in node-forge TLS Before

Publication date: 2026-03-27

Last updated on: 2026-04-14

Assigner: GitHub, Inc.

Description
Forge (also called `node-forge`) is a native implementation of Transport Layer Security in JavaScript. Prior to version 1.4.0, `pki.verifyCertificateChain()` does not enforce RFC 5280 basicConstraints requirements when an intermediate certificate lacks both the `basicConstraints` and `keyUsage` extensions. This allows any leaf certificate (without these extensions) to act as a CA and sign other certificates, which node-forge will accept as valid. Version 1.4.0 patches the issue.
CVSS Scores
EPSS Scores
Probability:
Percentile:
Meta Information
Published
2026-03-27
Last Modified
2026-04-14
Generated
2026-05-07
AI Q&A
2026-03-28
EPSS Evaluated
2026-05-05
NVD
Affected Vendors & Products
Showing 1 associated CPE
Vendor Product Version / Range
digitalbazaar forge to 1.3.3 (inc)
Helpful Resources
Exploitability
CWE
CWE Icon
KEV
KEV Icon
CWE ID Description
CWE-295 The product does not validate, or incorrectly validates, a certificate.
Attack-Flow Graph
AI Powered Q&A
Can you explain this vulnerability to me?

CVE-2026-33896 is a high-severity vulnerability in the node-forge library's certificate chain verification function, pki.verifyCertificateChain(). The issue arises because the function does not properly enforce the RFC 5280 requirements for the basicConstraints extension on intermediate certificates.

Specifically, if an intermediate certificate lacks both the basicConstraints and keyUsage extensions, node-forge incorrectly allows any leaf certificate without these extensions to act as a Certificate Authority (CA) and sign other certificates. This means a non-CA certificate can be treated as a CA, enabling attackers to forge certificate chains that node-forge will accept as valid.

The vulnerability violates RFC 5280 Section 6.1.4, which mandates that version 3 certificates used as intermediates must have the basicConstraints extension with the cA flag set to TRUE.


How can this vulnerability impact me? :

This vulnerability allows attackers who obtain any valid leaf certificate lacking the basicConstraints and keyUsage extensions to forge certificates for arbitrary domains. Because node-forge will accept these forged certificate chains as valid, attackers can impersonate trusted entities.

The impact includes compromising applications that rely on node-forge for custom Public Key Infrastructure (PKI), certificate pinning, S/MIME or PKCS#7 verification, IoT device certificate validation, or any non-native TLS certificate chain verification.

Such unauthorized certificate issuance can lead to man-in-the-middle attacks, data interception, and impersonation of legitimate services, severely affecting confidentiality and integrity.


How can this vulnerability be detected on my network or system? Can you suggest some commands?

This vulnerability can be detected by verifying certificate chains using the node-forge library's pki.verifyCertificateChain() function and checking for the presence and correctness of the basicConstraints extension on intermediate certificates.

Specifically, detection involves identifying certificate chains where an intermediate certificate lacks both the basicConstraints and keyUsage extensions, which node-forge incorrectly accepts as valid.

To detect this on your system, you can run tests or scripts that use node-forge to verify certificate chains and observe if chains with missing basicConstraints on intermediates are accepted.

There are no explicit command-line commands provided in the resources, but you can write or use JavaScript code leveraging node-forge's pki.verifyCertificateChain() to programmatically check certificate chains for this issue.


What immediate steps should I take to mitigate this vulnerability?

The immediate mitigation step is to upgrade the node-forge library to version 1.4.0 or later, where the vulnerability is patched.

The patch enforces RFC 5280 compliance by adding explicit checks in pki.verifyCertificateChain() that reject intermediate certificates missing the basicConstraints extension or having the cA flag unset.

If upgrading is not immediately possible, as a temporary measure, avoid trusting certificate chains that include intermediate certificates lacking the basicConstraints extension or keyUsage extensions.

Additionally, review your applications relying on node-forge for custom PKI, certificate pinning, S/MIME/PKCS#7 verification, or IoT device certificate validation to ensure they do not accept forged certificate chains.


How does this vulnerability affect compliance with common standards and regulations (like GDPR, HIPAA)?:

This vulnerability causes node-forge to improperly enforce RFC 5280 requirements for certificate chain verification, specifically allowing non-CA leaf certificates to act as Certificate Authorities. This violation of RFC 5280 undermines the trustworthiness of certificate validation processes.

Since many security standards and regulations such as GDPR and HIPAA require strong cryptographic protections and proper certificate validation to ensure data confidentiality and integrity, this flaw could lead to unauthorized certificate issuance and acceptance, potentially enabling attackers to impersonate trusted entities or intercept sensitive data.

Therefore, the vulnerability negatively impacts compliance with these standards by weakening the cryptographic trust model that underpins secure communications and data protection.


Ask Our AI Assistant
Need more information? Ask your question to get an AI reply (Powered by our expertise)
0/70
EPSS Chart