GitHub Advisoryadvisory · npm
GHSA-hfmf-q43v-2ffj Improper Key Verification in openpgp
HIGH
Official page ↗
- Aliases
- CVE-2019-9154
- Ecosystem
- npm
- Packages
- openpgp
- Severity
- High
- CVSS vector
- CVSS:3.0/AV:N/AC:L/PR:N/UI:N/S:U/C:N/I:H/A:N
- Weaknesses
- CWE-347
- Reviewed
- 2019-08-23
Affected packages
• npm openpgp: < 4.2.0 → fixed in 4.2.0
Description
Versions of `openpgp` prior to 4.2.0 are vulnerable to Improper Key Verification. The OpenPGP standard allows signature packets to have subpackets which may be hashed or unhashed. Unhashed subpackets are not cryptographically protected and cannot be trusted. The `openpgp` package does not verify whether a subpacket is hashed. Furthermore, due to the order of parsing a signature packet information from unhashed subpackets overwrites information from hashed subpackets. This may allow an attacker to modify the contents of a key certification signature or revocation signature. Doing so could convince a victim to use an obsolete key for encryption. An attack require a victim to import a manipulated key or update an existing key with a manipulated version.
Recommendation
Upgrade to version 4.2.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
Related
Alias · CVE (1)
- CVE-2019-9154 Improper Verification of a Cryptographic Signature in OpenPGP.js <=4.1.2 allows an attacker to pass off unsigned data as signed. vulnerability
Weakness · CWE (1)
- CWE-347 Improper Verification of Cryptographic Signature weakness
References
- https://nvd.nist.gov/vuln/detail/CVE-2019-9154 advisory
- https://github.com/openpgpjs/openpgpjs/pull/797 web
- https://github.com/openpgpjs/openpgpjs/pull/797/commits/47138eed61473e13ee8f05931119d3e10542c5e1 web
- https://github.com/openpgpjs/openpgpjs/releases/tag/v4.2.0 web
- https://sec-consult.com/en/blog/advisories/multiple-vulnerabilities-in-openpgp-js web
- https://snyk.io/vuln/SNYK-JS-OPENPGP-460247 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/1161 web
- http://packetstormsecurity.com/files/154191/OpenPGP.js-4.2.0-Signature-Bypass-Invalid-Curve-Attack.html web