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.
Problem types
CWE-295: Improper Certificate Validation
Product status
References
github.com/.../forge/security/advisories/GHSA-2328-f5f3-gj25
github.com/.../forge/security/advisories/GHSA-2328-f5f3-gj25
github.com/...ommit/2e492832fb25227e6b647cbe1ac981c123171e90