Impact
The vulnerability lies in the Forge library’s handling of PKCS#12 data. When an iteration count of zero or a negative number is accepted, the key derivation routine produces a constant key that does not depend on the supplied password or salt. As a result, a crafted PKCS#12 file processed by forge.pkcs12.pkcs12FromAsn1() or forge.pki.decryptPrivateKeyInfo() can bypass password-based integrity checks, allowing an attacker to obtain or forge private keys and certificates that are normally protected by a password. This weakness specifically targets PBE algorithms such as pbeWithSHAAnd3-KeyTripleDES-CBC, pbewithSHAAnd40BitRC2-CBC, and their associated shrouded key bags and encrypted SafeContents.
Affected Systems
The flaw affects the Digital Bazaar Forge (node‑forge) library in all releases older than v1.4.1. Developers using these versions in applications that accept external PKCS#12 files, encrypted private keys, or certificates are potentially vulnerable unless additional checks are applied.
Risk and Exploitability
With a CVSS score of 7.5, the vulnerability presents a medium‑to‑high severity. The EPSS metric is not available, and the issue is not listed in the CISA KEV catalog, indicating no known large‑scale exploitation at this time. Attackers can exploit the flaw by supplying a crafted PKCS#12 file with a zero or negative iteration count. If the application processes such input locally or receives it from a remote source (for example, through an upload endpoint), an attacker can obtain or create private keys without knowing the correct password, potentially leading to unauthorized access to encrypted data, TLS terminations, or other privileged operations. The vulnerability requires the attacker to control the input to the library but does not require elevated privileges in the library itself, making it a practical risk for applications that trust external PKCS#12 data.
OpenCVE Enrichment