CVE-2026-125336 · Package
NO FIX YET · SEE WHAT TO DO
node-forge's certificate chain verification ignores the X.509 nameConstraints extension when the constraint is non-critical. A holder of a name-constrained CA can issue a leaf certificate for names outside the allowed namespace, and node-forge accepts it, including in forge.tls clients.
first public Nov 4, 2026 · 1 source
Could this affect your app?
Free first check from your website. Connect your repo for the full answer.
Applications that use node-forge to verify certificate chains, especially forge.tls clients, are exposed when the chain includes a CA with non-critical nameConstraints. Exploitation needs a name-constrained CA that chains to a trusted root and either its private key or a way to obtain an out-of-scope certificate. Chains without nameConstraints are not affected, and affected versions reject critical nameConstraints.
Not affected if no-forge-tls-or-chain-verification, no-name-constrained-cas, version-1.4.3-or-later
Who cares node-forge, node.js, tls, x509
npm ls node-forge and look for any version below 1.4.3.forge.tls or pki.verifyCertificateChain in your code.1.4.3 or later.Forge (also called node-forge) is a native implementation of Transport Layer Security in JavaScript. Prior to 1.4.3, pki.verifyCertificateChain() in lib/x509.js does not decode or enforce the X.509 nameConstraints extension while validating certificate paths. A name-constrained certificate authority with a non-critical extension can therefore issue a leaf certificate with a subjectAltName dNSName or subject commonName outside a permitted subtree or inside an excluded subtree, and node-forge accepts the chain. Exploitation requires a name-constrained CA that chains to a trusted root and either its private key or the ability to obtain an out-of-scope certificate, allowing impersonation of names outside the delegated namespace, including against forge.tls clients. Chains without nameConstraints are not affected, and affected versions safely reject critical nameConstraints as unsupported rather than accepting them. This issue is fixed in version 1.4.3.
Check it with your coding agent
It reads this page and tells you if your code is affected.
Are you affected?
Ask from here. InfraStack checks the affected versions against your stack and answers in your inbox.
InfraStack checks the affected versions against your stack and answers in Slack, with the evidence and the fix.
NVD data is provided by NIST and is public domain. Posts quoted belong to their authors.