GHSA-77jf-fjjf-xcww
Invalid Curve Attack in openpgp
Quick fix
GHSA-77jf-fjjf-xcww — openpgp: upgrade to the fixed version with the command below.
npm install openpgp@4.3.0Details
Versions of `openpgp` prior to 4.3.0 are vulnerable to an Invalid Curve Attack. The package's implementation of ECDH fails to verify the validity of the communication partner's public key. The package calculates the resulting key secret based on an altered curve instead of the specified elliptic curve. Attackers may exfiltrate the victim's private key by choosing the altered curve. An attack requires the attacker being able to initiate message decryption and record the result. Furthermore the victim's key must offer an ECDH public key.
## Recommendation
Upgrade to version 4.3.0 or later. If you are upgrading from a version <4.0.0 it is highly recommended to read the `High-Level API Changes` section of the `openpgp` 4.0.0 release: https://github.com/openpgpjs/openpgpjs/releases/tag/v4.0.0
Are you affected?
Enter the version of the package you're using.
Affected packages
References
- https://nvd.nist.gov/vuln/detail/CVE-2019-9155[ADVISORY]
- https://github.com/openpgpjs/openpgpjs/pull/853[WEB]
- https://github.com/openpgpjs/openpgpjs/pull/853/commits/7ba4f8c655e7fd7706e8d7334e44b40fdf56c43e[WEB]
- https://github.com/openpgpjs/openpgpjs/releases/tag/v4.3.0[WEB]
- https://sec-consult.com/en/blog/advisories/multiple-vulnerabilities-in-openpgp-js[WEB]
- https://snyk.io/vuln/SNYK-JS-OPENPGP-460225[WEB]
- https://www.bsi.bund.de/SharedDocs/Downloads/EN/BSI/Publications/Studies/Mailvelope_Extensions/Mailvelope_Extensions_pdf.html#download=1[WEB]
- https://www.npmjs.com/advisories/1159[WEB]
- http://packetstormsecurity.com/files/154191/OpenPGP.js-4.2.0-Signature-Bypass-Invalid-Curve-Attack.html[WEB]