Skip to content

The classifier judged this item not relevant to AI security, so it is left out of lists, feeds, the API and dataset releases. If that is wrong, report a correction on this page.

HighVulnerability

GHSA-jc66-7q78-782g: Forge: PKCS#12 MAC forgery and constant-key PBE via zero iteration count

Published
Record updated
Affected
  • node-forge <= 1.4.0
Fixed in
1.4.1
Known exploitation
Not listed in the CISA Known Exploited Vulnerabilities catalog at the last check.
EPSS
0.1%

Summary

node-forge's forge.pkcs12.pkcs12FromAsn1() accepts a PKCS#12 MAC iteration count of zero or less, causing pkcs12.generateKey-style key derivation to return a constant key independent of password and salt. An attacker without the password can forge a PFX MAC that verifies with any password, and PKCS#12 PBE-encrypted private keys decrypt with any password. Affected versions are node-forge 1.4.0 and earlier.

Mitigation

Fixed in node-forge 1.4.1. Iteration counts less than 1 are now rejected when verifying a PKCS#12 MAC and in the PKCS#12 key derivation function. Workaround: before calling forge.pkcs12.pkcs12FromAsn1(), reject inputs whose MacData.iterations is present and less than 1; for encrypted private keys using the PKCS#12 PBE schemes, check the pkcs-12PbeParams iteration count before decryption, or upgrade.